嗨,我是一名大学生,我正在努力学习我必须制作的应用程序。该应用程序是一个减法应用程序,我似乎无法让它工作。每按一次减法按钮,它就会崩溃。
我的代码:
public void onClick(View view){
switch (view.getId()) {
case R.id.subtract_button:
setContentView(R.layout.activity_main);
EditText firstNumber = (EditText) findViewById(R.id.input_box_1);
int num1 = Integer.parseInt(firstNumber.getText().toString());
EditText secondNumber = (EditText) findViewById(R.id.input_box_2);
int num2 = Integer.parseInt(secondNumber.getText().toString());
int result = num1 - num2;
setContentView(R.layout.activity_result);
TextView subResult = (TextView)findViewById(R.id.result_view);
subResult.setText(Integer.toString(result));
break;
case R.id.exit_button: // the 'exit' button has been pressed.
// Delay the exit by 1 second at this time!
new Handler().postDelayed(new Runnable() {
public void run() {
//Finish the app
finish();
}
}, 1000);
break; // End of case.
}
}
答案 0 :(得分:1)
首先发布 Logcat
错误 setContentView
放置的问题。
为什么多个setContentView
?必须一个。
<强>唐&#39;吨强>
switch (view.getId()) {
case R.id.subtract_button:
setContentView(R.layout.activity_main); // Problem here i guess
<强>不要强>
onCreate(Bundle savedInstanceState)
部分调用。活动是用户可以做的一件重点事。几乎 所有活动都与用户交互,因此Activity类占用 为您创建一个可以放置UI的窗口 的setContentView(查看)。
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity_name);
答案 1 :(得分:0)
我以为你错过了按钮声明检查
Button button;
button=(Button) findViewById(R.id.buttonid);
或者发布你的日志