我有一个位置监听器活动,我想发出 toast 通知。但它不会让我this
作为上下文传递。我应该如何制作吐司?
42253 次
7 回答
23
如果 toast 位于您的活动类中,您可以使用YourActiviy.this
whereYourActivity
是类名。如果它在你的类之外,你需要获取你的活动上下文(在构造函数中传递它等)。
于 2011-04-12T20:25:13.700 回答
7
如果你在内部班级,那么也试试这个
获取应用程序上下文()
于 2011-04-13T01:58:27.943 回答
5
您可以使用NameOfYourActivity.this
例如:
public class MyActivity extends Activity {
...
Toast.makeText(MyActivity.this, text, duration).show();
于 2011-04-12T20:19:28.837 回答
2
例如,如果您有一个侦听器,其中有一个名为“onComplete”的方法,那么这段代码应该可以工作。
public void onComplete(String response, Object state) {
final String response_complete = response;
MyActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MyActivity.this, text, duration).show();
}
});
}
那应该这样做。
于 2011-04-13T03:10:26.223 回答
2
字段变量: Context context;
在 OnCreate 内: context = this;
Xamarin / C# 语法:
Toast.MakeText(context, "your message", ToastLength.Long).Show();
安卓/Java语法:
Toast.makeText(context, "your message", Toast.LENGTH_LONG).show();
于 2017-04-28T03:32:43.613 回答
1
而是尝试 getApplicationContext()
Toast tea = Toast.makeText(getApplicationContext(), "Send", Toast.LENGTH_LONG);
tea.show();
于 2014-10-16T07:52:22.560 回答
0
听起来您在 Activity 的内部类中。如果是这样,请尝试 ActivityName.this。
于 2011-04-12T20:25:55.387 回答