可能重复:
我如何从非活动课程中祝酒?
如何Toast
从不扩展Activity
类的类中创建和显示消息?我在另一个由Activity
.
可能重复:
我如何从非活动课程中祝酒?
如何Toast
从不扩展Activity
类的类中创建和显示消息?我在另一个由Activity
.
您需要上下文参考。只要有一个辅助方法,比如
public static void showToastMethod(Context context) {
Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
}
---------------------- 新的模块化版本 ------------------------
创建接口
public interface ShowToast {
public onShowToast (String message); [additionally you can pass toast duration]
}
在Activity类中,实现该接口并编写Toast方法来显示消息。
public class ActivityClass extends Activity implements ShowToast{
public giveCallToNonActivityClass(){
new NonActivityClass(this); //Here we're passing interface impl reference.
}
public onShowToast (String message) {
Toast.makeText(ActivityClass.this, message, Toast.LENGTH_SHORT).show();
}
}
示例 NonActivityClass 将如下所示:
public class NonActivityClass {
public NonActivityClass (ShowToast interfaceImpl) {
interfaceImpl.onShowToast("I'm calling Toast from Non Activity ");
}
}
早期版本太旧,无法参考。希望这种更模块化的方法有所帮助。
-------------------------------- 旧版本 2012 --------------- -------------
您可以通过将值传递给 nonActivity 类将该活动的上下文传递给您的类
例子:
new NonActivityClass(Activityclass.this) ;
和上面的答案一样
new MyClass(ActivityClass.this);
在非活动类中
public class NonActivityClass {
public NonActivityClass (Context context) {
Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
}
}
希望这对你有用...