android之Toast多次提示延時處理

來源:互聯網
上載者:User

標籤:

學習android的人應該都明白Toast是用來做做什麼的,在這裡就不多說了。

Toast提示出現後會停留一段時間,在這段時間內再次執行Toast會有時間延遲,即上一次提示消失後下一次才出現。這時我們希望資訊能及時更新。

解決思路:當前沒有提示資訊時正常執行;當前有提示資訊時新資訊覆蓋原來的資訊。

 

法一:建立一個ToastShow類,用於封裝此功能

import android.content.Context;import android.view.Gravity;import android.widget.Toast;public class ToastShow {     private Context context;  //在此視窗提示資訊    private Toast toast = null;  //用於判斷是否已有Toast執行    public ToastShow(Context context) {          this.context = context;     }     public void toastShow(String text) {         if(toast == null)         {             toast = Toast.makeText(context, text, Toast.LENGTH_SHORT);  //正常執行        }         else {             toast.setText(text);  //用於覆蓋前面未消失的提示資訊        }         toast.show();      } } 

在需要此功能的視窗中使用

ToastShow toast = new ToastShow(this);toast.toastShow("提示資訊");

 

法二:建立一個ToastShow類,用於封裝此功能

import android.content.Context;import android.widget.Toast;/** * 自訂Toast * @author Administrator * */public class ToastUtils {    protected static Toast toast   = null;    private static String oldMsg;    private static long oneTime = 0;    private static long twoTime = 0;    public static void showToast(Context context, String s){              if(toast==null){               toast =Toast.makeText(context, s, Toast.LENGTH_SHORT);              toast.show();              oneTime=System.currentTimeMillis();          }else{              twoTime=System.currentTimeMillis();              if(s.equals(oldMsg)){                  if(twoTime-oneTime>Toast.LENGTH_SHORT){                      toast.show();                  }              }else{                  oldMsg = s;                  toast.setText(s);                  toast.show();              }                 }          oneTime=twoTime;      }      public static void showToast(Context context, int resId){             showToast(context, context.getString(resId));      }  }

在需要此功能的視窗中使用

ToastUtils.showToast(this, "提示資訊");

 

android之Toast多次提示延時處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.