android使用技巧之Toast

转载请注明出处:http://blog.csdn.net/droyon/article/details/42009015

我们可以使用androd提供的toast控件,但是在使用过程中,我们发送大量Toast请求,发现Toast会一直发送下去,就算我们退出应用界面,Toast依然没有停止.

造成这种状况的原因,大家稍加分析就能够明白.这里就来提供一种方式来避免这种情况:

首先:封装ToastMaster类:

static class ToastMaster {

        private static Toast sToast = null;

        private ToastMaster() {

        }

        public static void setToast(Toast toast) {
            if (sToast != null)
                sToast.cancel();
            sToast = toast;
        }

        public static void cancelToast() {
            if (sToast != null)
                sToast.cancel();
            sToast = null;
        }

    }

然后在具体使用过程中:

Toast toast = Toast.makeText(context, toastText, Toast.LENGTH_LONG);
        ToastMaster.setToast(toast);
        toast.show();

最后,在界面退出时,执行如下代码:

LeUINotificationsUtils.ToastMaster.cancelToast();

有需要的童鞋,可以参考上述方式进行优化.

时间: 2024-09-29 18:28:27

android使用技巧之Toast的相关文章

Android 开发技巧总结

1.项目中设置每个activity的启动模式(如果堆栈中存在此activity就会重用,并提到栈顶,不会创建新的activity)  android:launchMode="singleTask" 2.如果界面中的布局被弹出的软键盘改变,则在对应的activity中加入如下代码即可. android:windowSoftInputMode="adjustPan|stateHidden" 3.去掉ScrollView拉倒边缘时的效果: scrollView.setOv

Android实战技巧之四十三:终止一个线程引起的

这是一道老牌面试题.通常面试官会问你对Java线程的了解,然后再问此问题. 从理论到实践,这是一条好路子. 线程是操作系统实现多任务的一种方式,可以理解为线程是一个任务的执行单元.比如Android系统中每个App都会有自己的主线程,同时还可以创建worker thread"并行"为我们工作. Java中创建新线程的方法 Java对线程(Thread)提供了语言级的支持(依托虚拟机吧).java.lang包下有Thread类和Runnable接口,都可以替你完成创建新线程的工作. 1.

软件测试——Android应用开发之Toast

一.Android中的Toast 一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动. 和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西. Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到. 而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失. 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象. (摘自百度百科) 二.Toast一般使用 使用需引入包:

Android开发之控制Toast的开启与关闭

开发这个程序之前先解释一下,为什么Toast信息提示框在显示一定时间后会自己主动消失?由于在Android系统中有一个Toast队列,系统会依次从这个队列中取出一个Toast,并显示它.在显示了指定时间之后,便关闭它.那么可不能够让Toast信息提示框一直显示呢?这个要求对于Toast来说有点强人所难了,由于,Toast本身并没有提供这个功能.那么怎么才干让Toast一直显示,并在我们的控制之下关闭呢?代码是死的,人是活的.以下就叫代码说话: 看一下Toast的show方法的源代码: publi

Android实战技巧:深入解析AsyncTask

AsyncTask的介绍及基本使用方法 关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复. AsyncTask引发的一个问题 上周遇到了一个极其诡异的问题,一个小功能从网络上下载一个图片,然后放到ImageView中,是用AsyncTask来实现的,本身逻辑也很简单,仅是在doInBackground中用HTTP请求把图片的输入流取出,然后用BitmapFactory去解析,然后再把得到的Bitmap放到ImageView中

Android 开发技巧总结(三)

1.在界面中按返回键判断某个控件的可见性,如果可见,则用动画让其消失,应用并不退出. Onkeydown方法中: if(keyCode == 4){ if(slidingMenu.getVisibility() == View.VISIBLE){ //退出的动画 AnimationSet animationSet = new AnimationSet(true); TranslateAnimation animation = new TranslateAnimation(0,-280, 0, 0

50个Android开发技巧(10 为TextView加入样式)

首先来看一个控件的例子: (原文地址:http://blog.csdn.net/vector_yi/article/details/24428085) 手机上类似这种场景你一定已经见过非常多次了,但有没有考虑过它是如何实现的? 或许你会觉得这是一个略微复杂的自己定义的View,但,没错,这实际上仅仅是一个原生的TextView而已. TextView是一个简单而奇妙的Widget,你能够利用它以不同风格不同格式来展现文字. 举两个简单的样例: 1.在TextView中加入一个超链接 事实上非常e

Android实战技巧:ViewStub的应用

Android实战技巧:ViewStub的应用

Android源码解析——Toast

简介 Toast是一种向用户快速提供少量信息的视图.当它显示时,它会浮在整个应用层的上面,并且不会获取到焦点.它的设计思想是能够向用户展示些信息,但又能尽量不显得唐突.本篇我们来研读一下Toast的源码,并探明它的显示及隐藏机制. 源码解析 Toast 我们从Toast的最简单调用开始,它的调用代码是: Toast.makeText(context,"Show toast",Toast.LENGTH_LONG).show(); 在上面的代码中,我们是先调用Toast的静态方法来创建一个