我有一个处理ui和按钮的main活动,但是有一个单独的类处理代码的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中祝酒时。我不知道该在什么情况下祝酒。我尝试过:mainActivity.this,myButtonListener.this,getContextApplication()。他们似乎都不起作用。这就是我要展示我的祝酒词的方式:
Toast.makeText(MyButtonListener.this, message, Toast.LENGTH_LONG).show();

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

最佳答案

创建全局变量

Context context;

在主活动和集合中
context = this;

主要活动的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;
}

在吐司中使用这个上下文

10-06 15:52