这就是我的代码,非常简单和基本public Button btn1;public TextView txt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.txt1);
findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
txt1.setText("finalyyyyyyyyyyy");
}
});
,错误显示为:由于:java.lang.NullPointerException:尝试调用虚方法'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)'对空对象引用
问题就在这里
findViewById(R.id.txt1);
findViewById(R.id.btn1);
您正在从.xml
文件中获取视图,但您实际上并没有将值分配给任何对象…所以当你尝试调用btn1
的方法时,它是null(空)并抛出错误
所以只要把你要得到的值赋给视图对象就像这样:
txt1 = findViewById(R.id.txt1);
btn1 = findViewById(R.id.btn1);
这将解决问题
将元素保存在变量中,并将onClick方法设置为该特定变量,如下所示:
btn1 = findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
txt1.setText("finalyyyyyyyyyyy");
}
});