Convert EditText input to integer and multiply?

2019-09-20 13:38发布

问题:

I tried using Integer.parseInt(), but it doesn't convert it EditText's String input to integer. I need to use integers to multiply data and calculate total. EditText is not empty. Why does this error occurs?

buttonAdd.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        try {
            if (twh.getText().toString() == "") {
                total = 0;
            } else {
                total = (Integer.parseInt(twh.getText().toString()));
            }
            a = Integer.parseInt(textIn1.getText().toString());
            b = Integer.parseInt(textIn2.getText().toString());
            c = Integer.parseInt(textIn3.getText().toString());
            total = total + (a * b * c);
            twh.setText(String.valueOf(total));
        }
        catch (Exception e){
            System.out.print(e+"");
        }

}

回答1:

Instead of this,

a = Integer.parseInt(textIn1.getText().toString());

try it,

a = Integer.valueOf(textIn1.getText().toString());

Also add

android:inputType="number"

in your xml layout file.

<EditText...
     android:inputType="number"/>

to input only numbers.