关闭

Android中的Toast重复显示的问题

3004人阅读 评论(0) 收藏 举报
分类:

《Android应用安全防护和逆向分析》


点击立即购买:京东  天猫  亚马逊 当当



更多内容:点击这里

关注微信公众号,最新技术干货实时推送

编码美丽技术圈
微信扫一扫进入我的"技术圈"世界

扫一扫加小编微信
添加时请注明:“编码美丽”非常感谢!


Toast是Android中用来显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点,而且Toast显示的时间有限,过一定的时间就会自动消失。

Toast一般用来提示用户的误操作。但是如果同时显示多个Toast信息提示框,系统会将这些Toast信息提示框放到队列中,等前一个Toast信息提示框关闭后才会显示下一个Toast信息提示框。当用户在某些情况下,误操作多次时,使用 Toast提示会出现很多个Toast依次显示,在页面上停留很长时间,用户体验很不好!
为了解决这一问题,每次创建Toast时先做一下判断,如果前面有Toast在显示,只需调用Toast中的setText()方法将要显示的信息替换即可。
代码如下:
自定义CustomToast 类:
public class CustomToast {
    private static Toast mToast;
    private static Handler mHandler = new Handler();
    private static Runnable r = new Runnable() {
        public void run() {
            mToast.cancel();
        }
    };
    public static void showToast(Context mContext, String text, int duration)      
        mHandler.removeCallbacks(r);
        if (mToast != null)
            mToast.setText(text);
        else
            mToast = Toast.makeText(mContext, text, Toast.LENGTH_SHORT);
        mHandler.postDelayed(r, duration);
        mToast.show();
    }
    public static void showToast(Context mContext, int resId, int duration) {
        showToast(mContext, mContext.getResources().getString(resId), duration);
    }

}
显示Toast代码:CustomToast.showToast(getBaseContext(), "提示信息", 1000);
因为一般提示信息都是放在strings.xml中,所以为了方便使用,又写了个方法:
public static void showToast(Context mContext, int resId, int duration) {
        showToast(mContext, mContext.getResources().getString(resId), duration);
    }
3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android Toast防止重复显示的方法

Android Toast防止重复显示的方法一般来说,我们想要显示一个Toast提示,我们可以直接用Toast.makeText(context, text, duration).show();的方法...
  • ww1112333
  • ww1112333
  • 2015-12-30 20:25
  • 648

安卓Toast自定义及防止重复显示

Toast是安卓系统中,对用户误操作时或某功能执行完毕时,对用户的一种提示,他没有焦点,并在一定时间内会消失,但用户连续误操作(如登录时,密码错误)多次时,怎会有多个Toast被创建,系统会把这些to...
  • baiyuliang2013
  • baiyuliang2013
  • 2014-08-18 09:21
  • 2166

防止Toast重复提醒

原文地址:http://blog.csdn.net/guolin_blog/article/details/51336415说到不会阻挡用户原本正在进行的操作,这就延伸到我们今天的第二个主题,Toas...
  • Double2hao
  • Double2hao
  • 2016-08-01 09:38
  • 1148

[Android] 多次按钮点击Toast重复显示解决方案

【背景介绍】  最近遇到这样一个BUG,页面中有个按钮,点击按钮后弹出toast提示。但是多次点击此按键时,Toast会一直显示,点击的次数越多,显示的时间越长(其实就是多次点击按键时,Toast顺序...
  • csdn_lexli
  • csdn_lexli
  • 2016-10-11 20:24
  • 610

Android 特殊的单例Toast(防止重复显示)

1、介绍 所谓单例Toast就是每次显示的时候不会重复创建,节约资源。网上有很多这样的单例Toast,但是本篇介绍的是特殊的单例Toast,根据显示事件的长短来显示内容。正常的Toast显示的时候会...
  • study_zhxu
  • study_zhxu
  • 2016-02-03 16:06
  • 4531

Android中的Toast重复显示的问题

转自:http://blog.csdn.net/jiangwei0910410003/article/details/17096699 Android Toast 跳转页面时立马让他消失 To...
  • wyyl1
  • wyyl1
  • 2015-04-29 14:12
  • 484

Android中的Toast重复显示的问题

Toast是Android中用来显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点,而且Toast显示的时间有限,过一定的时间就会自动消失。 Toast一般用来提示用户的误操作。但是...
  • baidu_22735341
  • baidu_22735341
  • 2016-04-11 16:39
  • 133

Toast使用小技巧-防止重复创建

Toast是我们在Android开发中经常被使用到的 我们在创建Toast时,都是这么写:Toast.makeText(context, "message", Toast.LENGTH_SHORT)...
  • zhuwentao2150
  • zhuwentao2150
  • 2016-11-09 16:43
  • 1159

【Android】当关闭通知消息权限后无法显示系统Toast的解决方案

前言不知道大家是否遇到了当你们的App在5.0以上系统中被用户关闭消息通知后(其实用户本身只是想关闭Notification的,猜测),系统的Toast也神奇的无法显示。当然这个问题并不复杂,有很多种...
  • qq_25867141
  • qq_25867141
  • 2016-10-13 16:13
  • 8156

自定义Toast及解决Toast的重复显示问题

我们时常会用到Toast,但是源生的Toast有时会满足不了我们的需求,这就需要我们自定义了。 首先,来一个Toast工具类: public class MyToast { private...
  • dong_junshuai
  • dong_junshuai
  • 2016-12-08 11:47
  • 147
    《Android应用安全防护和逆向分析》正式开售
    《Android应用安全防护和逆向分析》

    360创始人周鸿祎、CSDN创始人蒋涛、看雪创始人段钢联袂推荐

    零基础学习移动安全逆向,手把手带你进入安全逆向领域!安全不息,逆向不止!让别人的应用都成为我们手中的炮灰!

    读者技术交流QQ群:682646223



    购买地址: 京东 天猫
    技术分享微信公众号
    扫一扫关注

    关注公众号留言可咨询问题和技术交流,推送最新技术文章!
    酱爆短视频
    酱爆短视频



    全球首款短视频聚合应用「酱爆视频」正式发布上线

    别人等车干着急,我在酱爆看视频

    想你说想,为你所做!

    不负众望,就在酱爆!

    点击查看详情
    微信扫一扫加入安全逆向圈

    友情链接
    个人资料
    • 访问:5573515次
    • 积分:32013
    • 等级:
    • 排名:第169名
    • 原创:304篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1659条
    博客专栏
    文章分类