【发布时间】:2017-05-25 19:12:42
【问题描述】:
我正在做一个使用一些 Toast 的应用程序。
如果出现 Toast,同时我退出应用程序,它通常不会消失。
如果我在手机上退出应用程序,有没有办法停止 Toast?
【问题讨论】:
我正在做一个使用一些 Toast 的应用程序。
如果出现 Toast,同时我退出应用程序,它通常不会消失。
如果我在手机上退出应用程序,有没有办法停止 Toast?
【问题讨论】:
在 Activity onStop 或 ondestroy 中使用 cancel() 方法
public class MainActivity extends Activity {
private Toast toast = null;
@SuppressLint("ShowToast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toast = Toast.makeText(getApplicationContext(), "", Toast.LENGTH_LONG);
showMyToast();
}
public void showMyToast()
toast.setText(" test toast");
toast.show();
}
@Override
protected void onStop () {
super.onStop();
toast.cancel();
}
【讨论】:
退出添加时需要写这个
toast.cancel();
【讨论】:
Toast.makeText 返回一个 Toast 对象。在这个对象上调用cancel() 来取消它。
Toast toast = Toast.makeText(this, "Hello..", Toast.LENGTH_LONG);
toast.cancel();
【讨论】:
使用 android 活动生命周期并覆盖 onstop() 或 onPause mthodes
onStop() 在活动不再对用户可见时调用。
@Override
protected void onPause () {
super.onPause();
toast.cancel();
}
或
@Override
protected void onStop () {
super.onStop();
toast.cancel();
}
【讨论】: