Toast在关闭应用后还显示的解决办法
1.我们在用Toast的用法就是:Toast.makeText(Context,CharSequence , Duration).show()。但有的时候如果你在一次操作当中多次点击一个view的时候去显示Toast,可能在你关闭
应用后Toast任然会继续显示,这个小瑕疵很是讨厌。下面就说一下解决办法(用到activity的生命周期):
就是在要用Toast的Activity中添加两个函数:
函数一:
// 对toast进行一个简单的封装
public void toastShow(CharSequence message) {
if (null == mToast) {
mToast = Toast.makeText(MainActivity.this, message,
Toast.LENGTH_SHORT);
mToast.setGravity(Gravity.CENTER, 0, 0);
} else {
mToast.setText(message);
} mToast.show(); }
函数二:
//取消Toast
public void toastStop() {
if (null != mToast) {
mToast.cancel(); } }
然后再Activity的OnPause()中调用toastStop()方法即可去掉Toast.
整个Activity示例:
public class MainActivity extends Activity {
private Button btn;
private Toast mToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
toastShow("toast");
}
});
}
// 对toast进行一个简单的封装
public void toastShow(CharSequence message) {
if (null == mToast) {
mToast = Toast.makeText(MainActivity.this, message,
Toast.LENGTH_SHORT);
mToast.setGravity(Gravity.CENTER, 0, 0);
} else {
mToast.setText(message);
}
mToast.show();
}
//取消Toast
public void toastStop() {
if (null != mToast) {
mToast.cancel();
}
}
@Override
protected void onPause() {
System.out.println("onPause() ");
toastStop();
super.onPause();
}
}
xml文件哪些就没必要贴出来了。
Toast在关闭应用后还显示的解决办法的更多相关文章
- Eclipse 安装插件后不显示的解决办法
有时候一些 eclipse 插件安装之后,打开 eclipse 死活都不显示,这时候可以: ① 把 eclipse/configuration/org.eclipse.update 删除掉.出现这种情 ...
- tomcat关闭后线程依然运行解决办法
tomcat关闭后线程依然运行解决办法,设置线程为守护线程 守护线程与非守护线程 最近在看多线程的Timer章节,发现运用到了守护线程,感觉Java的基础知识还是需要补充. Java分为两种线程:用户 ...
- JLINK固件丢失或升级固件后提示Clone的解决办法
J-LINK V8固件烧录指导 J-LINK 是使用过程中,如果内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件. 安装固件烧录软件 请ATMEL官方网址下载AT91-ISP下载 ...
- eclipse_neon 的Spket 目录下只有一个Task Tags,没有其他的选项,导致没有办法添加提示文件! 添加sdk文件之后还是没有办法显示的解决办法
问题解决办法: 将 spket-1.6.23的安装包里面的features plugins 单独复制到D:\eclipse_neon\dropins 目录下,重启一下eclipse即可正常显示! 添 ...
- iphone H5 input type="search" 不显示搜索 解决办法
H5 input type="search" 不显示搜索 解决办法 H5 input type="search" 不显示搜索 解决方法 在IOS(ipad iP ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- ecshop验证码图片无法显示终极解决办法
ecshop验证码图片无法显示终极解决办法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2014-06-06 客户在安装好ecshop之后所有前台的证码不显示,后 ...
- iddler抓包过程以及fiddler抓包手机添加代理后连不上网解决办法
转载自:https://blog.csdn.net/m0_37554415/article/details/80434477,感谢博主的热心分享 1.(1)电脑端打开安装好的的fiddler,打开To ...
- LoadRunner打开WebTours只显示头部解决办法
LoadRunner打开WebTours只显示头部解决办法 1.遇到这种情况,先查看一下路径HP\LoadRunner\WebTours下的cgierr日志中是否有错误,比如Can't open ...
随机推荐
- ecshop 删除随机版权
删除随机版权: js/commjon.js -> onload = function()函数
- csu 1326 The contest
裸的 并查集 + 分组背包: #include<iostream> #include<cstring> #include<algorithm> #inclu ...
- android webview 遇到的问题:external/chromium/net/disk_cache/stat_hub.cc:216:
今天也遇到这个问题,界面显示无法访问,Baidu吧,结果有些含糊其词,有的说加网络权限,我看了下我的, 有个 <uses-permission android:name="androi ...
- Linux makefile教程之概述一[转]
概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些 Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makef ...
- JavaScript定时器与执行机制解析
从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环. 由于JS是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行. 为了避免因为 ...
- $("#province").val();取不到select的值求解
MVC下的razor视图开发中无法取到select的值问题求解 cshtml 如下 <select name="province" id="province&quo ...
- LINQ to SQL使用教程
前些时间用LINQ to SQL做了一些项目,现在打算总结一下,帮助新手快速入门,并写一些别的教程没提到的东西. 一.LINQ to SQL和别的LINQ to XXX有什么关系?二.延迟执行(Def ...
- opencv3.0 在 android 上的使用
下载 OpenCV-3.0.0-android-sdk-1.zip 打开 intellj,新建立一个 android 工程后选择工程属性,导入模块(Import module from externa ...
- 关于python中的__new__方法
在上篇中,简单的比较了下new方法和init方法,然后结合网上的东西看了一点,发现..看书有的时候说的并不全面. __new__方法是一个类方法,主要作用是来指导如何生成类的实例, 主要用于,当需要生 ...
- 【LeetCode】7 & 8 - Reverse Integer & String to Integer (atoi)
7 - Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Notic ...