繁体   English   中英

setOnClickListener 在 android studio 中不起作用

[英]setOnClickListener does not work in android studio

那是我的代码,非常简单和基本的公共按钮 btn1; 公共文本视图 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");


        }
    });

并且显示的错误是:Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on an null object reference

问题就在这里

findViewById(R.id.txt1);
findViewById(R.id.btn1);

您正在从.xml文件中获取视图,但实际上并未将值分配给任何对象...因此,当您尝试将方法调用到btn1时,它为空(空)并引发错误

因此,只需将您获得的值分配给视图对象,如下所示:

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");


        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM