如何从非活动课上祝酒?

时间:2011-04-04 20:10:58

标签: android toast

我有一个班级,我用来在我的活动中获取GPS数据。在构造函数中,我将活动的上下文传递给它:

gpsFetcher = new GPSFetcher(this);

在gpsFetcher课程中我有:

this.context = c.getApplicationContext();

或者只是

this.context = c;

然后我打电话给toast:

Toast.makeText(context, "sometext", Toast.LENGTH_LONG);

但它永远不会出现......有什么我想念的吗?有可能吗?

谢谢!

4 个答案:

答案 0 :(得分:11)

你忘了Toast#show吗?

Toast toast = Toast.makeText(context, "sometext", Toast.LENGTH_LONG);
toast.show();

答案 1 :(得分:1)

您还必须致电show()

Toast.makeText(context, "sometext", Toast.LENGTH_LONG).show();

答案 2 :(得分:0)

我遇到了同样的问题,但我解决了。!!在非活动类中,您只需宣布一个“公共静态字符串”。然后在您的MainActivity或其他活动中,您可以直接使用Toast。

就我而言,我声明了一个非活动类NoteDB。所以我在课堂上宣布public static String S。 (你可以在课堂上改变S值。然后在我的MainActivity中,我宣布

Toast(MainActivity.this, NoteDB.S ,TOAST.SHORT_LENTGH).show();

效果很好。

答案 3 :(得分:0)

要在非活动Java类中显示Toast,请在Java类的构造函数中添加Context

[这里PrizeMethods是我的Java类]

public class PrizeMethods {
    Context context;
    public PrizeMethods(Context context) {
        this.context = context;
    }
   }

以及您要在活动中实例化该类的位置(使其成为对象,并在主活动中使用它),将上下文添加为参数。

赞:

 PrizeMethods pm=new PrizeMethods(this);

在您的java类内部之后,您可以像这样创建敬酒:

 Toast.makeText(context, "toast inside class!!", Toast.LENGTH_SHORT).show();