精华内容
下载资源
问答
  • Toast一直显示的方法

    千次阅读 2010-09-26 11:42:00
    如果想不用timer,可以启动一个service,然后这个service的handler中来显示toast。下面再给出一个例子。 import android.app.Service;import android.content.Intent;import android.os.Bundle;import android.os....

    如果想不用timer,可以启动一个service,然后这个service的handler中来显示toast。下面再给出一个例子。

    封装了Toast,并实现了Toast长期显示

    展开全文
  • android :让Toast一直显示的解决方法

    千次阅读 2011-04-27 19:07:56
    前两天社区还有人问,想让Toast一直显示,怎么做呢? Toast有个setDuration方法设置显示的。但很奇怪的只能设置两个值,Toast.LENGTH_LONG或Toast.LENGTH_SHORT。设置其他值都没你想要的效果,只...

    Toast是Android用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。前两天社区还有人问,想让Toast一直显示,怎么做呢?

    Toast有个setDuration方法设置显示的。但很奇怪的只能设置两个值,Toast.LENGTH_LONG或Toast.LENGTH_SHORT。
    设置其他值都没你想要的效果,只能是Toast.LENGTH_LONG或Toast.LENGTH_SHORT其中一值。

    其实可以用Timer来解决。 isRunning = true; 

    timer = new Timer(); 

    timer.schedule(new TimerTask(){ 

     

        @Override 

        public void run() { 

        // TODO Auto-generated method stub 

            while(isRunning){ 

                toast.show(); 

            } 

        } 

                             

    }, 10); 

    展开全文
  • 做程序的时候最常用的弹出大概就是Toast了。但有时候会发先一个特别尴尬的问题,就是:一旦你点击某个按钮次数多了,即使在程序退出后,Toast也弹个不停。什么原因造成的呢? 是这样的:我们为了方便,在写弹出...

    做程序的时候最常用的弹出大概就是Toast了。但有时候会发先一个特别尴尬的问题,就是:一旦你点击某个按钮次数多了,即使在程序退出后,Toast也弹个不停。什么原因造成的呢?

    是这样的:我们为了方便,在写弹出Toast的时候通常使用的是Toast.makeText(this, "Toast测试", Toast.LENGTH_LONG).show();。弹出Toast过多恰恰就出现在这段代码本身。因为每调用一次这段代码程序就会重新创建一个Toast对象(Tost弹出的顺序是一个接一个的,也就是说第一个从显示到消失后,第二个才能够显示)。最终导致Toast弹出时间累加,故而造成一直弹出的现象。

    解决办法:很简单的,上面不是提到是由于每次都创建一个新对象的原因造成的吗。那我们就不给它机会创建其他对象。写一个单例的自定义的Toast。问题就能够得到解决。单例相信大家都会的,这里我就不再赘述了,仅提供一个参考思路。

     

     

    转载于:https://www.cnblogs.com/tony-yang-flutter/p/3783531.html

    展开全文
  • Android Toast 保持一直显示

    千次阅读 2018-02-02 17:13:38
    Toast(context.getApplicationContext()); mToast .setDuration(Toast. LENGTH_SHORT ); mToast .setGravity(Gravity. CENTER , 0 , 0 ); mToast .setView(toastView); } else { toastMsg = (TextView) ...
    
    package android.widget;
    
    import android.app.ITransientNotification;
    import android.content.Context;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.View;
    import java.lang.reflect.Field;
    
    public class ToastUtils {
    
        private static Toast mToast = null ;
        public static final int MEDIA_TYPE_MUSIC = 0x00000001;
        public static final int MEDIA_STATUS_LOADING = 0x10000000;
    
        public static void showMediaStatusToast(Context context, int mediaType, String msg) {
            TextView toastMsg = null;
            ImageView toastImage = null;
            if (mToast == null) {
                LayoutInflater inflate = (LayoutInflater)
                        context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View toastView = inflate.inflate(com.android.internal.R.layout.media_ready_toast, null);
                toastMsg = ((TextView) toastView.findViewById(com.android.internal.R.id.tv_toast_clear));
                toastImage = (ImageView) toastView.findViewById(com.android.internal.R.id.iv_toast_clear);
    
                mToast = new Toast(context.getApplicationContext());
                mToast.setDuration(Toast.LENGTH_SHORT);
                mToast.setGravity(Gravity.CENTER, 0, 0);
                mToast.setView(toastView);
            } else {
                toastMsg = (TextView) mToast.getView().findViewById(com.android.internal.R.id.tv_toast_clear);
                toastImage = (ImageView) mToast.getView().findViewById(com.android.internal.R.id.iv_toast_clear);
            }
    
            switch(mediaType) {
                case MEDIA_TYPE_MUSIC://music
                    toastImage.setImageResource(com.android.internal.R.drawable.img_no_usb);
                    break;
                case MEDIA_STATUS_LOADING://loading
                    toastImage.setImageResource(com.android.internal.R.drawable.media_progress);
                    toastMsg.setText(msg);
                    showProgress();
                    break;
            }
            if (mediaType != MEDIA_STATUS_LOADING) {
                toastMsg.setText(msg);
                mToast.show();
            }
    
        }
    
        private static void showProgress() {
            if (mToast != null) {
                try {
                    Field toastNextView = mToast.getClass().getDeclaredField("mNextView");
                    toastNextView.setAccessible(true);
                    Object toastView = toastNextView.get(mToast);
                    toastNextView.setAccessible(false);
                    Field mTN = mToast.getClass().getDeclaredField("mTN");
                    mTN.setAccessible(true);
                    Object tn = mTN.get(mToast);
                    mTN.setAccessible(false);
                    Field tnView = tn.getClass().getDeclaredField("mNextView");
                    tnView.setAccessible(true);
                    tnView.set(tn, toastView);
                    tnView.setAccessible(false);
                    ITransientNotification notification = (ITransientNotification) mTN.get(mToast);
                    notification.show();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void hideProgress() {
            if (mToast != null) {
                try {
                    Field mTN = mToast.getClass().getDeclaredField("mTN");
                    ITransientNotification notification = (ITransientNotification) mTN.get(mToast);
                    notification.hide();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    展开全文
  • 最近在做一个项目突然发现以前的按2次关闭应用的提示应用都退出了还一直显示,这样严重影响效果必须解决掉。 public static Toast toast = null; public static int LENGTH_LONG = Toast.LENGTH_LONG; ...
  • android 解决Toast重复显示问题!
  • Toast工具类 解决Toast重复显示,Toast一直显示,在线程中可用 希望 TkToastUtil 能帮助你 import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; ...
  • 在平时开发中,为了提高用户体验,...用户体验很不好,这也是本人最近根据测试反馈在项目中优化Toast显示的一点心得记录,下面也针对这种问题,给出解决方案,希望对大家有参考意义: 1) 当前页面用一个全局的Toa...
  • 和对话框不同的是,Toast并不是以独占方式显示的,它并不会抢夺用户的焦点,在弹出Toast的时候,依然可以对之前的界面进行操作,我们在“”一文中介绍了纯文本的Toast的使用,我们完全可以自定义Toast显示内容和...
  • 【背景介绍】 最近遇到这样一个BUG,页面中有个按钮,点击按钮后弹出toast提示。但是多次点击此按键时,Toast会...  多次点击后Toast一直显示的效果:  【解决方案】public class MainActivity extends AppCompatA
  • 解决Toast一直不消失问题

    万次阅读 2016-08-08 21:45:26
    在实现一个功能的时候,遇到了Toast一直不消失的问题,因此,对Toast进行了一些研究。先描述问题:有一个activity和一个thread,都有各自的handler。activity启动thread,双方通过handler进行交互。 当在thread中...
  • 产品在测试过程中发现一个bug,就是测试人员不停的疯狂的点击某个按钮,触发了toast以后,toast内容会一直排着队的显示出来,不能很快的消失。这样可能会影响用户的使用。 看到Toast有一个cancel()方法: 代码如下:...
  • 用户在多次点击的时候就会一直显示 首先我们要明确为什么会导致这样的问题: 1.Toast实现其实是一个消息队列 2.所有的提示信息都按照错误的次数依次加入队列中 3.在原有信息没有消失之前后来
  • Android 动态控制Toast显示与隐藏 我们知道,Toast信息会在显示一段时间后自动隐藏,因为它有一个Toast队列,系统会依次从这个队列中取出一个Toast。 在最近的开发中,我遇到一个问题,在设置某项功能的过程中...
  • import android.widget.Toast; import android.*; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bmob...
  • Android 中有一个 Toast 控件,可以用来显示提示信息,还是非常好用的,但是样式和显示时长比较局限。所以我们来自定义一个  Toast ,让它可以显示我们想要的效果,并能设置显示时长。 首先,在 res\layout ...
  • Toast 解决连续显示

    千次阅读 2017-12-16 17:07:42
    Toast 是 Android 开发最常见的组件之一,经常用 toast显示一些提示信息,但在开发中经常有这样一个问题:连续点击某个按钮,toast一直现,如果点击的次数很多,可能会有十几秒的时间都在显示 toast,这样的...
  • 如大家所想,第一次点击用Toast提示,如果在两秒内再次点击那么程序退出。 在我们平时写App的时候,习惯用Application的上下文对象...App退出之后,我的Toast还在显示一直消失不了。 先说说我的操作吧: ...
  • Android中防止Toast一直点击一直弹出

    千次阅读 2016-10-09 14:43:36
    在使用工作中经常使用Toast,如果用户连续点击很多下按钮,可能Toast显示一两分钟也不会消失,这就给我们的用户造成了困扰。以下是解决办法:private int num = 0;//连续点击的次数 private static Toast toast;...
  • TOAST:不重复显示Toast

    千次阅读 2017-09-21 15:25:08
    问题:对用户的某个动作弹出Toast,采用一般的显示Toast的方法,如果用户多次做某个动作,则屏幕会一直显示Toast,体验不好。 目标:如果Toast正在显示,同个Toast不再弹出Toast,而是在原来的Toast上继续显示一定...
  • Android Toast 长期显示解决方案 Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是, Toast是没有焦点的,而且Toast显示的时间有限, 过一定的时间就会自动消失。 下面用一个实例来...
  • 4、Toast一直显示 final Toast toast = Toast.makeText(context,"toast", Toast.LENGTH_LONG);  Timer timer = new Timer();  timer.schedule(new TimerTask() {    @Override  public void ...
  • Toast 详细
  • ,这里显示重载了两个方法,一个默认底部显示,另一个可以自己设置显示位置 import android.content.Context; import android.widget.Toast; public class ToastHelper { public static Toast mToast = ...
  • 4、Toast一直显示 final Toast toast = Toast.makeText(context,"toast", Toast.LENGTH_LONG); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { // ...
  • 1、原理:一个全局变量保存Toast实例,判断该Toast还没取消时,要先取消上一个Toast,然后再展示新的Toast 2、代码如下: public class MyUtils { /** 当前Toast */ static Toast mToast; /** * Toast提醒 ...
  • 有时我们在项目中会发现,由于按钮点击次数太多次,Toast长时间显示而不消失,那么该如何解决呢?
  • 最近项目中出现一个问题,就是有的手机在关闭系统通知,结果项目中使用的原生Toast在有的手机上竟然不显示了,然后就去查系统源码,发现原来原生的Toast是基于NotificaitionManagerService实现的,难怪有些手机不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,035
精华内容 4,814
关键字:

toast一直显示