减法App Java

时间:2016-03-10 10:31:56

标签: java android android-studio

嗨,我是一名大学生,我正在努力学习我必须制作的应用程序。该应用程序是一个减法应用程序,我似乎无法让它工作。每按一次减法按钮,它就会崩溃。

我的代码:

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.

    }
}

2 个答案:

答案 0 :(得分:1)

首先发布 Logcat

  1. 错误 setContentView 放置的问题。

  2. 为什么多个setContentView?必须一个

  3. <强>唐&#39;吨

    switch (view.getId()) {
        case R.id.subtract_button:
    
            setContentView(R.layout.activity_main); // Problem here i guess
    

    <强>不要

    1. setContentView onCreate(Bundle savedInstanceState)部分调用。
    2.   

      活动是用户可以做的一件重点事。几乎   所有活动都与用户交互,因此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);

或者发布你的日志