簡體   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