我的android简单计算器应用有什么问题?

时间:2011-08-05 15:06:10

标签: android crash android-widget

我是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 :(得分:0)

两个街区中的一个可能会抛出NumberFormatException以外的东西。 (我猜在调用toString()时会出现NullPointerException。)

尝试将每种情况下捕获的异常更改为Exception并查看是否显示问题。

答案 1 :(得分:0)

试试

num3.toString() 

打印答案时,最好使用textview显示答案