`
fackyou200
  • 浏览: 310786 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

关于android中Toast重复显示的解决方案

 
阅读更多
 在使用Toast作为提示信息时,Toast会显示在屏幕下方,一般用来提示用户的误操作。当用户在某些情况下,误操作多次时,只使用Toast会导致出现很多个Toast,依次显示,会在页面上停留很长时间,这个会严重影响软件的用户亲和性。所以,这个时候,我们可以做一个Factory来维护一个Toast的引用,并用Context来唯一标识这个Toast,当Context改变时,Toast会重新创建,否则,返回已创建的Toast,在返回已创建的Toast之前,调用cancel方法,这样,会最少限度的更改已存在的代码。

 代码附在下面

public class TispToastFactory {

private static Context context = null;

private static Toast toast = null;

/**

* @param context 使用时的上下文

* @param hint 在提示框中需要显示的文本

* @return 返回一个不会重复显示的toast

* */

public static Toast getToast(Context context,String hint){

if(TispToastFactory.context == context){

toast.cancel();

toast.setText(hint);

System.out.println("没有新创建");

}else{

System.out.println("创建了一个新的toast");

TispToastFactory.context = context;

toast = Toast.makeText(context,hint,Toast.LENGTH_SHORT);

}

return toast;

}

}
 

 


分享到:
评论
1 楼 gjhappyyy 2012-09-17  
你这样只能显示一次toast。继续按就再也不显示了。如果想第一次toast显示消失,再按在显示怎么处理???

相关推荐

    android 解决Toast重复显示问题

    在Android开发中,`Toast`是一种轻量级的...通过以上方法,我们可以有效地解决`Toast`在Android应用中重复显示的问题,提高用户体验。在实际开发中,应根据具体场景选择合适的方法,遵循最佳实践,避免出现这类问题。

    如何解决android Toast重复显示

    本文将深入探讨如何解决Android `Toast`重复显示的问题,并提供具体的解决方案。 首先,我们要理解`Toast`的基本工作原理。`Toast`在创建时会有一个默认的显示时长,分为`LENGTH_SHORT`和`LENGTH_LONG`两种。当`...

    Android Service中使用Toast无法正常显示问题的解决方法

    3. 当需要在其他方法(如onStart())中显示Toast时,重复上述步骤,确保每次都使用主线程的Handler。 这样,即使在Service中,我们也可以正确地显示Toast。请注意,这种方法适用于那些需要在后台运行且需要与用户...

    Android9.0上针对Toast的特殊处理图文详解

    在Android 9.0中,重复请求同一Toast可能会导致系统自动取消之前的显示,从而造成上述问题。 那么,如何在Android 9.0上正确实现自定义长时间显示的Toast呢?一种解决方案是避免使用线程连续调用 `show()`,而是...

    Android防快速重复点击

    除了上述手动实现的方法,Android SDK还提供了一些内置的解决方案。例如,`View`类中的`setClickable`方法可以用来控制按钮是否可点击,以及`ViewConfiguration`类可以获取系统默认的防快速点击间隔。此外,还有一些...

    ToastDemo工具

    2. **防止Toast重复显示**:确保每次只调用一次`show()`方法,避免在循环、事件监听器或其他可能导致重复调用的地方创建多个Toast实例。可以使用变量记录Toast是否正在显示,或者使用`cancel()`方法取消正在显示的...

    Android-BasePopup.zip

    BasePopup库可能专注于提供一种更加灵活、可定制化的解决方案,以替代或扩展原生Android API的功能。它可能包含了一些预设的样式、动画效果,以及更方便的API接口,帮助开发者快速实现各种复杂的弹出窗口需求。 ...

    Android-EasyCommonUtils快速搭建项目时常用的工具类集合

    "Android-EasyCommonUtils"正是这样一款集合了多种常用功能的工具类库,它涵盖了线程池管理、Handler通信机制、消息提示以及日志打印等多个方面,为开发者提供了一站式的解决方案。 首先,线程池管理是Android应用...

    Android小工具

    在Android移动应用开发中,经常会遇到各种重复性工作和复杂问题,这时,使用一些实用的工具类库可以显著提高开发效率。"Android小工具"就是这样一套集合了多种实用功能的工具包,它专为Android开发者设计,旨在简化...

    实现带动画效果自定义Toast效果

    在Android开发中,自定义Toast效果常常用于提供一种轻量级的用户反馈方式,它可以以更吸引人的方式显示信息,而不仅仅是简单的文字提示。本文将深入探讨如何利用Android源码来实现带动画效果的自定义Toast,以...

    Android中AOP的应用实践之过滤重复点击

    使用AOP则能提供一种更加优雅的解决方案,将重复点击的处理逻辑与业务代码分离。 在Android中集成AspectJ,我们可以借助Hujiang大神的`gradle_plugin_android_aspectjx`框架,如下所示: 1. 在根目录的`build....

    各种dialog的封装实现

    总结来说,这个项目提供了一套完整的自定义Dialog解决方案,涵盖了日常开发中常见的对话框类型。通过封装,开发者可以避免重复编写相似的代码,提高代码质量,同时降低了维护成本,使得Dialog的使用更加便捷高效。

    refresh 下拉刷新

    也可以利用`SwipeRefreshLayout`组件,它是Android SDK提供的官方下拉刷新解决方案。 5. **Fragment的下拉刷新**:Fragment是Android中用来组织界面的模块化组件,它可以在Activity中嵌入。在Fragment中实现下拉...

    安卓Andriod源码——FormEditText验证输入合法性的编辑框.zip

    同时,这也为开发者提供了一种可复用的解决方案,节省了在多个项目中重复编写验证代码的时间。 在实际项目中,可以将FormEditText应用到注册、登录、个人信息编辑等需要验证输入的场景。它不仅限于文字输入,还可以...

    ImgDownloaderAndroid:这是仅适用于 android 的图像下载器

    总的来说,ImgDownloaderAndroid是为Android开发量身定制的图像下载解决方案,它简化了图片加载的流程,提升了应用的性能和用户体验。通过合理地集成和配置,开发者可以轻松地在自己的应用中实现高效、可靠的网络...

    B4A初级教程

    - **Running the Emulator through a proxy via the Command prompt(通过命令提示符使用代理运行模拟器)**: 提供解决方案来解决模拟器网络连接问题。 - **日历数据同步** - **Send data to Android calendar...

    安卓开发框架工具类相关-安卓简单开发工具包1.0.3.rar

    由于“安卓简单开发工具包1.0.3”没有提供具体的详细说明,我们无法得知所有包含的类和方法,但可以肯定的是,它集合了以上某些或全部功能,为开发者提供了一站式的解决方案。需要注意的是,由于压缩包中的文件未...

    APP自动化总结.docx

    13. **MobileRunner(商业收费工具)**:商业化的自动化测试工具,提供全面的移动应用测试解决方案。 选择自动化测试工具时,需要考虑以下关键因素: 1. **平台支持**:是否支持目标平台,如Android和iOS。 2. **...

    RxJava与Retrofit 结合

    总之,RxJava与Retrofit的结合是Android开发中的一个强大组合,它为异步网络请求提供了优雅的解决方案,提高了代码的可读性和可维护性。通过熟练掌握这两个库的使用,可以极大地提升你的Android开发效率。

Global site tag (gtag.js) - Google Analytics