gpt4 book ai didi

android - 不幸的是Android应用程序已停止

转载 作者:行者123 更新时间:2023-11-29 21:53:27 25 4
gpt4 key购买 nike

我正在做一个简单的程序,用于添加从 EditText 输入的两个数字。但是,当用户单击“单击以添加”按钮,将字段留空时,程序退出并显示“不幸的是,程序已停止。”

代码如下:

public class MainActivity extends Activity {

long a, b, sum;
Button add, clr;
EditText e1, e2, res;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

add = (Button) findViewById(R.id.bAdd);
add.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) throws NumberFormatException {
// TODO Auto-generated method stub

e1 = (EditText) findViewById(R.id.tv1);
String str1 = e1.getText().toString();

e2 = (EditText) findViewById(R.id.tv2);
String str2 = e2.getText().toString();

try{
a = Integer.parseInt(str1);
b = Integer.parseInt(str2);
}catch(NumberFormatException e){
res.setText("Please enter valid entries");
}

sum = a + b;

res = (EditText) findViewById(R.id.result);
res.setText("Your sum is " + sum);
}
});

clr = (Button) findViewById(R.id.bClr);
clr.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) throws NumberFormatException {
// TODO Auto-generated method stub
e1.setText("");
e2.setText("");
res.setText("");
}
});
}

}

我希望应用对空白的 EditText 条目响应“请输入有效条目”。

最佳答案

你的线路:

res = (EditText) findViewById(R.id.result);

必须移动以便在使用 res.setText 之前初始化 res 变量。它没有在你的 catch 语句中初始化。将其移动到如下所示的位置。您可以在执行其他操作时初始化它 findViewById

e1 = (EditText) findViewById(R.id.tv1); 
e2 = (EditText) findViewById(R.id.tv2);
res = (EditText) findViewById(R.id.result);

关于android - 不幸的是Android应用程序已停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13856461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com