Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中使用EditText用户输入、递增和递减按钮值_Java_Android_Android Edittext_Increment_Decrement - Fatal编程技术网

Java 如何在android中使用EditText用户输入、递增和递减按钮值

Java 如何在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

我对安卓有点陌生。因此,我尝试使用EditText而不是ListView来计算某物的价格,并且我包含了递增和递减按钮来增加EditText组件的值

所以递增和递减按钮工作正常。他们正在递减和递增EditText中的值,并且正在计算价格,但是当我键入EditText而不是使用按钮时,我键入的值不会被使用

这是我的密码

XML


有人能帮我吗?

使用
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