0

我正在使用 Android 应用程序,我有 5 个编辑文本和 1 个按钮来对这些编辑文本中的整数求和。有时用户可以让几个编辑文本空白。问题是当用户让它空白时,会出现异常,我不知道如何处理它。这些是我的代码

try
    {
        if (qty1 != null)
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }
        else 
        {
            qty1.setText("0");
        }
        if (qty2 != null)
        {
            int jml2 = Integer.parseInt(qty2.getText().toString());
            item2 = hrg2 * jml2;
        }
        else 
        {
            qty2.setText("0");
        }
        if (qty3 != null)
        {
            int jml3 = Integer.parseInt(qty3.getText().toString());
            item3 = hrg3 * jml3;
        }
        else 
        {
            qty3.setText("0");
        }
        if (qty4 != null)
        {
            int jml4 = Integer.parseInt(qty4.getText().toString());
            item4 = hrg4 * jml4;
        }
        else 
        {
            qty4.setText("0");
        }
        if (qty5 != null)
        {
            int jml5 = Integer.parseInt(qty5.getText().toString());
            item5 = hrg5 * jml5;
        }
        else 
        {
            qty5.setText("0");
        }
int hasil = item1 + item2 + item3 + item4 + item5;
        Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
        total.setText(String.valueOf(hasil));
    }
    catch(Exception e)
    {
        Toast.makeText(getApplicationContext(), "Quantity can't be empty. Please type item quantity", Toast.LENGTH_LONG).show();
    }    

我尝试使用 if 设置条件,但这并没有太大帮助。谢谢。

4

3 回答 3

3

试试这个,

if (qty1.getText().toString() != null && !(qty1.getText().toString().equals("")))
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }

代替,

if (qty1 != null)
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }

此条件 if(qty1 != null)检查您的 editText 是否为空,但不检查其中包含的数据。

对所有其他 editText 值重复相同的操作。

于 2012-12-27T05:18:57.383 回答
1

把这个条件

String s1= qty5.getText().toString().trim();

if(TextUtils.isEmpty(s1)) ///// isEmpty() <-----
{
 // error message
}
else
{
 // your code
}
于 2012-12-27T05:20:01.490 回答
0

如果qty1你是edittext,那么你需要从你的edittext中获取字符串来检查它是否是null

所以像这样改变你所有的edittexts代码

    if (qty1.getText().toString() != null && qty1.getText().toString().equals(""))
    {
        int jml1 = Integer.parseInt(qty1.getText().toString());
        item1 = hrg1 * jml1;
    }
    else 
    {
        qty1.setText("0");
    }
于 2012-12-27T05:19:14.130 回答