java - 从 onClickListener 类显示 Toast 的上下文

标签 java android

我有一个处理 UI 和按钮的 MainActivity,但我有一个单独的类来处理代码的 onClickListener 部分。我的主类定义为:public class MainActivity extends Activity 我在类中的按钮定义如下:

MyButtonListener l = new MyButtonListener();
b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(l);

MyButtonListener 类定义为public class MyButtonListener extends MainActivity implements View.OnClickListener。问题来了,当我尝试在 MyButtonListener 中 toast 时。我不知道为 toast 该说些什么。我试过:MainActivity.this、MyButtonListener.this、getContextApplication()。他们似乎都没有工作。这就是我想表达敬意的方式:

Toast.makeText(MyButtonListener.this, message, Toast.LENGTH_LONG).show();

有没有人为了显示来自 MyButtonListener 类的 toast 而放置什么上下文?

最佳答案

创建全局变量

Context context;

在MainActivity中设置

context = this;

在主 Activity 的onCreate方法中

现在在 MyButtonListener 构造函数中传递上下文 像这样

MyButtonListener l = new MyButtonListener(context);
    b1 = (Button) findViewById(R.id.button1);
    b1.setOnClickListener(l);

并在 MyButtonListener 中添加构造函数

private Context context;

public MyButtonListener(Context context) {
    this.context = context;
}

并在 toast 中使用该上下文

关于java - 从 onClickListener 类显示 Toast 的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211952/

相关文章:

java - .NET 客户端构造的 SOAP 具有有效对象,Java 客户端 SOAP 具有空对象

java - 正则表达式不遵守长度限制

java - 如何插入当前行

java - Android:通过 BLE 发送数据 >20 字节

java - spring3 - 应用程序上下文 - bean属性名称和引用 - 空指针异常

java - Hibernate 事件监听器模式

java - Android 如何做到图像屏幕滑动?

android - 如何防止底部导航栏在显示的键盘上被向上推

java - 在TeamCity上使用Gradle构建时失败:任务:app:processDebugResources失败

java - 从加密文件读取到声明的字符串变量