Что не так с моим простым Android-калькулятором? - PullRequest
0 голосов
/ 05 августа 2011

Я новичок в Android, и это мое первое приложение, оно мне кажется нормальным, но каждый раз, когда я нажимаю кнопку вычисления, оно неожиданно останавливается и принудительно закрывается.

package com.test.simplecalc;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button myButton = (Button) findViewById(R.id.myButton);
    final EditText firstNum = (EditText)findViewById(R.id.firstNum);
    final EditText secondNum = (EditText)findViewById(R.id.secondNum);
    final EditText finalNum = (EditText)findViewById(R.id.finalNum);

    myButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            int num1 = 0;

            try {
                num1 = Integer.parseInt(firstNum.getText().toString());
            } catch(NumberFormatException nfe) {
               Toast.makeText(MainActivity.this, "Could not parse" + nfe, Toast.LENGTH_SHORT).show();
            }

            int num2 = 0;

            try {
                num2 = Integer.parseInt(secondNum.getText().toString());
            } catch(NumberFormatException nfe) {
               Toast.makeText(MainActivity.this, "Could not parse" + nfe, Toast.LENGTH_SHORT).show();
            }
            int num3 = num1 + num2;
            finalNum.setText(num3);
        }
    });
}

}

Ответы [ 2 ]

0 голосов
/ 20 декабря 2012

просто попробуйте

num3.toString() 

при печати ответа, и лучше использовать textview для отображения ответа

0 голосов
/ 05 августа 2011

Вероятно, что один из двух блоков выбрасывает что-то отличное от NumberFormatException. (Мое предположение было бы исключение NullPointerException при вызове toString().)

Попробуйте изменить перехваченное исключение в каждом случае на Exception и посмотрите, обнаружит ли это проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...