让应用程序停止错误

时间:2015-06-06 17:49:39

标签: android android-studio

使用Android Studio,你能指出错误吗?我无法分析为什么我不得不面对这个错误: 只有java的基本背景,我是如何创建计算方法的。

{{1}}

2 个答案:

答案 0 :(得分:1)

Button add;
Button sub;
Button times;
Button div;
EditText num1;
EditText num2;
TextView result;

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

Button add=(Button) findViewById(R.id.add);
 sub=(Button) findViewById(R.id.sub);
 times=(Button) findViewById(R.id.times);
 div=(Button) findViewById(R.id.div);
 num1=(EditText) findViewById(R.id.num1);
 num2=(EditText) findViewById(R.id.num2);
 result=(TextView) findViewById(R.id.result);

        add.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v){
                calculate('+');
            }
        });
        sub.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v){
                calculate('-');
            }

        });
        times.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v){
                calculate('*');
            }
        });
        div.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v){
                calculate('/');
            }
        });


}

答案 1 :(得分:0)

初始化onCreate()方法内的所有按钮和edittext。您可以将按钮,edittext任何组件声明为全局但不要将它们初始化为全局。所以这样做:

Button add;
Button sub;
Button times;
Button div;
EditText num1;
EditText num2;
TextView result;

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

add=(Button) findViewById(R.id.add);
sub=(Button) findViewById(R.id.sub);
times=(Button) findViewById(R.id.times);
div=(Button) findViewById(R.id.div);
num1=(EditText) findViewById(R.id.num1);
num2=(EditText) findViewById(R.id.num2);
result=(TextView) findViewById(R.id.result);

.
.
.
//your button listener code

}