Java 如何在android中使用EditText用户输入、递增和递减按钮值
我对安卓有点陌生。因此,我尝试使用EditText而不是ListView来计算某物的价格,并且我包含了递增和递减按钮来增加EditText组件的值 所以递增和递减按钮工作正常。他们正在递减和递增EditText中的值,并且正在计算价格,但是当我键入EditText而不是使用按钮时,我键入的值不会被使用 这是我的密码 XMLJava 如何在android中使用EditText用户输入、递增和递减按钮值,java,android,android-edittext,increment,decrement,Java,Android,Android Edittext,Increment,Decrement,我对安卓有点陌生。因此,我尝试使用EditText而不是ListView来计算某物的价格,并且我包含了递增和递减按钮来增加EditText组件的值 所以递增和递减按钮工作正常。他们正在递减和递增EditText中的值,并且正在计算价格,但是当我键入EditText而不是使用按钮时,我键入的值不会被使用 这是我的密码 XML 有人能帮我吗?使用quantityText.getText()函数获取值并将其存储在变量中,然后对该值执行递增和递减操作 大概是这样的: int value = Intege
有人能帮我吗?使用
quantityText.getText()
函数获取值并将其存储在变量中,然后对该值执行递增和递减操作
大概是这样的:
int value = Integer.parseInt(quantityText.getText().toString().trim());
然后将该值传递给递增和递减函数。使用
quantity=Integer.parseInt(quantityText.getText().toString())代码>尝试:
String yourValue = quantityText.getText().toString(); //gets you the contents of edit text
tvTextView.setText(yourValue); //displays it in a textview..
public class MainActivity extends AppCompatActivity {
EditText quantityText;
int quantity = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
quantityText= (EditText) findViewById(R.id.quantity_textview);
}
/**
* This method is called when the order button is clicked.
*/
public void submitOrder(View view) {
quantity = Integer.parseInt(quantityText.getText().toString());
int price = quantity*5;
displayPrice(price);
}
public void increment (View view) {
quantity = quantity + 1;
display(quantity);
}
public void decrement (View view) {
if (quantity>0){
quantity = quantity - 1;
display(quantity);
}
}
/**
* This method displays the given quantity value on the screen.
*/
private void display(int number) {
quantityText.setText("" + number);
}
/**
* This method displays the given price on the screen.
*/
private void displayPrice(int number) {
TextView priceTextView = (TextView) findViewById(R.id.price_textview);
priceTextView.setText("KES " + number);
}
}
对于创建onclick事件,它很简单:
final EditText input = (EditText) findViewById(R.id.textview_id);
final TextView view = (TextView) findViewById(R.id.textview_id);
final Button button = findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
view.setText(input.getText().toString());
}
});
EditText未被使用的原因是您未从EditText获取值。所以,像这样获得该值
String valueFromEditText=quantityText.getText().toString(); // Getting string value from EditText
int valueFromEditTextInIntegerFormat=Integer.parseInt(valueFromEditText) // Converting string value received into integer format
现在,使用这个整数值执行您想要的任何操作
祝您好运:)该值没有被使用,因为您一直在从数字
变量中读取数据。您有两种选择,一种是在用户更改时将EditText中的文本保存到numbers变量,另一种是删除numbers
变量,并增加已经显示的数字。因此int number=Integer.parseInt(quantityText.getText().toString();
现在需要增加number
变量,并在editText按钮中再次设置。单击,更新quantityText.setTest(quantityText.getText().toString())
可能重复工作!但为什么要使用修剪方法?只是为了减少用户可能错误输入的多余空格。请正确标记答案,以便帮助他人:)谢谢,我现在明白了。
final EditText input = (EditText) findViewById(R.id.textview_id);
final TextView view = (TextView) findViewById(R.id.textview_id);
final Button button = findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
view.setText(input.getText().toString());
}
});
String valueFromEditText=quantityText.getText().toString(); // Getting string value from EditText
int valueFromEditTextInIntegerFormat=Integer.parseInt(valueFromEditText) // Converting string value received into integer format
You need to create this method:
private void display()
{
EditText quantityText = (EditText) findViewById(R.id.quantity_textview);
int value = Integer.parseInt(quantityText.getText().toString());
quantity=value;
Log.i("vl", "display: "+value);
}
//replace your method with this
public void submitOrder(View view) {
if(quantity==0)
{
display();
}
int price = quantity*5;
quantity=0;
displayPrice(price);
}
//if you get any problem ask me in a comment