setOnClickListener不工作在android工作室



这就是我的代码,非常简单和基本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");

}
});

相关内容

  • 没有找到相关文章

最新更新