package com.app.bangwoyi;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity implements OnClickListener{
private Button bt1,bt2,bt3,bt4;
private TextView number1,number2,number3,number4;
private int n1,n2,n3,n4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fun1();
}
private void fun1() {
// TODO Auto-generated method stub
bt1 = (Button) findViewById(R.id.bt1);
// bt = (Button) findViewById(R.id.bt); //语音
bt2 = (Button) findViewById(R.id.bt2);
bt3 = (Button) findViewById(R.id.bt3);
bt4 = (Button) findViewById(R.id.bt4);
bt1.setOnClickListener(this);
// bt.setOnClickListener(this);
bt2.setOnClickListener(this);
bt3.setOnClickListener(this);
bt4.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt1:
n1++;
number1.setText(String.valueOf(n1));
break;
case R.id.bt2:
n2++;
number2.setText(String.valueOf(n2));
break;
case R.id.bt3:
n3++;
number3.setText(String.valueOf(n3));
break;
case R.id.bt4:
n4++;
number4.setText(String.valueOf(n4));
break;
}
}
}
MainActivity.java
第45行抛出了空指针异常。
你看看你代码里:
private TextView number1,number2,number3,number4;
声明之后全都没有赋值,就在switch...case
里引用了,这必须得报错啊。
都要通过 findViewById先找到,再使用
同上解,是要用findViewById赋值
findViewById的意思其实就是找对应布局文件的控件,而这个控件系统已经帮你实例化了,你声明的变量是用来指向这个实例来用的
空指针异常了嘛。。。需要_**findViewById。**_
在layout文件夹里的布局不是有id吗,使用前都要先都要通过 findViewById先找到,再使用