【问题标题】:Android Studio: I am trying to wire a button to a toast but there is an error with the callback methodAndroid Studio:我正在尝试将按钮连接到 toast,但回调方法出错
【发布时间】:2017-11-07 23:31:53
【问题描述】:
package com.example.chris.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        public void buttonWasClicked(View button) {
        Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show();
        }
    }
}

//buttonWasClicked在编辑器中不是红色而是灰显,编辑器显示buttonWasClicked之前没有使用过的错误。我不知道为什么,我认为这就是我定义回调方法的方式。

【问题讨论】:

  • 没有理由拒绝投票,或者如果有理由,应该在此处发布以提高用户对该网站的了解。

标签: android button toast android-toast


【解决方案1】:

您的方法在onCreate() 方法中,这就是原因。将其移到onCreate() 之外以便能够调用它。

试试这个:

package com.example.chris.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;


public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = findViewById(R.id.my_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                buttonWasClicked(view);
            }
        });
    }
    public void buttonWasClicked(View button) {
        Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show();
    }
}

【讨论】:

  • 如果对您有帮助,请将其标记为正确答案!谢谢,祝你好运!
猜你喜欢
  • 1970-01-01
  • 2020-10-13
  • 1970-01-01
  • 2020-10-20
  • 2020-06-16
  • 1970-01-01
  • 2022-01-27
  • 2017-02-14
  • 2021-06-13
相关资源
最近更新 更多