我开发了一个计算器应用程序。它需要两个输入num1和num2。 当我给出2个输入时,算术过程运行良好。但是,当我点击任何按钮(添加,子,多,分区)而没有任何输入时,应用程序已关闭并显示错误“不幸的是,calc已停止。
public void onButtonClick(View v){
EditText e1 = (EditText)findViewById(R.id.editText);
EditText e2 = (EditText)findViewById(R.id.editText2);
TextView t1 = (TextView)findViewById(R.id.textView);
float num1 = Integer.parseInt(e1.getText().toString());
float num2 = Integer.parseInt(e2.getText().toString());
float sum = num1 + num2; t1.setText(Float.toString(sum));
}
答案 0 :(得分:1)
只需在Onclick
之前添加验证方法 private boolean validation(){
int error = 1;
if(num1.getText().toString.equals("")){error = error + 1;}
if(num2.getText().toString.equals("")){error = error + 1;}
if(error == 0){return true;} else { return false; }
}
答案 1 :(得分:0)
试试这个
Content-Transfer-Encoding
答案 2 :(得分:0)
我猜它是因为你在'editText'中有null
值而你正在将null值转换为float而不检查它不是null的条件。
所以在转换之前。检查editText是否为null。像这样:
if(e1.getText().toString()!="" && e2.getText().toString()!="")
{
float num1 = Float.parseFloat(e1.getText().toString());
float num2 = Float.parseFloat(e2.getText().toString());
}
你应该使用'Float'进行转换而不是'Int'