如何取消Toast的显示
2013-04-18 13:56
316 查看
有时候点击按钮会出现提示Toast,如果多次点击,就会一直累计出现,即使你离开这个Activity还是会出现知道最后一Toast显示完,有什么办法让一离开,比如按back键就不让这些Toast显示呢?下面这个方法来自于网络,本人已经测试过完全可行!
我这里有一个方法,实现起来比较简单,也不用计算Toast的时间之类的,
就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.
为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的Toast即可
直接上代码:
private Toast mToast;
public void showToast(String text) {
if(mToast == null) {
mToast = Toast.makeText(MobileSendTopicActivity.this, text, Toast.LENGTH_SHORT);
} else {
mToast.setText(text);
mToast.setDuration(Toast.LENGTH_SHORT);
}
mToast.show();
}
public void cancelToast() {
if (mToast != null) {
mToast.cancel();
}
}
public void onBackPressed() {
cancelToast();
super.onBackPressed();
}
我这里有一个方法,实现起来比较简单,也不用计算Toast的时间之类的,
就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.
为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的Toast即可
直接上代码:
private Toast mToast;
public void showToast(String text) {
if(mToast == null) {
mToast = Toast.makeText(MobileSendTopicActivity.this, text, Toast.LENGTH_SHORT);
} else {
mToast.setText(text);
mToast.setDuration(Toast.LENGTH_SHORT);
}
mToast.show();
}
public void cancelToast() {
if (mToast != null) {
mToast.cancel();
}
}
public void onBackPressed() {
cancelToast();
super.onBackPressed();
}
相关文章推荐
- 如何取消状态栏上显示所有的图标和通知的勾选?
- Android keyguard之上如何显示Toast
- vi一个文件时如何取消匹配字的颜色显示
- 如何取消Linux下,vi中显示的^M符号
- 如何取消repositoryItemMemoExEdit控件默认显示的图标
- 如何取消Linux下,vi中显示的^M符号
- [.NET] 如何在Windows被关机或登出的时候,显示提示讯息并取消关机或登出
- VI中如何取消匹配字的颜色显示
- 如何让Toast消息在应用退出后不再显示
- 如何取消Linux下,vi中显示的^M符号
- 如何将Toast的显示时间随意设置
- (转) 如何取消Linux下,vi中显示的^M符号
- 如何取消“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容。” 的提示
- 如何取消vi中显示的^M符号
- 【整理】如何取消Linux下,vi中显示的^M符号
- Android中Toast如何显示纯数字
- Win7/Win8系统如何取消任务栏预览效果只显示窗口名称文字提示
- 如何取消Linux下,vi中显示的^M符号
- 如何取消VI查询后的显示
- Android 如何动态的控制Toast的显示与隐藏