执行android studio时出错

时间:2016-07-20 10:15:48

标签: android android-studio

我开发了一个计算器应用程序。它需要两个输入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));
}

3 个答案:

答案 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'