本文為大家分享了Toast類避免顯示時間疊加的方法,供大家參考,具體內容如下
import android.app.Activity;import android.app.Fragment;import android.content.Context;import android.widget.Toast; /** * Toast工具類 * Created by user on 2016/12/22. */ public class ToastUtil { private static Toast toast = null; private static ToastUtil toastUtil = null; public ToastUtil(){} public synchronized static ToastUtil getInstance(){ if(null == toastUtil){ toastUtil = new ToastUtil(); } return toastUtil; } public void showToast(Context context, String string){ if(toast != null){ toast.cancel(); } toast = Toast.makeText(context, string,Toast.LENGTH_SHORT); toast.show(); } public void showToast(Fragment fragment, String string){ showToast(fragment.getActivity(),string); } public void showToast(Activity activity, String string){ if(toast != null){ toast.cancel(); } toast = Toast.makeText(activity, string,Toast.LENGTH_SHORT); toast.show(); } public void showToastTest(Context context){ if(toast != null){ toast.cancel(); } toast = Toast.makeText(context, "click",Toast.LENGTH_SHORT); toast.show(); } public void showToastTest(Fragment fragment){ showToastTest(fragment.getActivity()); } public void showToastTest(Activity activity){ if(toast != null){ toast.cancel(); } toast = Toast.makeText(activity, "click",Toast.LENGTH_SHORT); toast.show(); }} if(null == toastUtil){ toastUtil = new ToastUtil(); } return toastUtil; }public void showToastInThread(Context context,String msg){ Looper.prepare(); if(toast != null){ toast.cancel(); } toast = Toast.makeText(context,msg,Toast.LENGTH_SHORT); toast.show(); Looper.loop(); } public void showToast(Context context, String string){ if(toast != null){ toast.cancel(); } toast = Toast.makeText(context, string,Toast.LENGTH_SHORT); toast.show(); } }
這是一個封裝好的Toast工具類,避免時間疊加
使用方法
ToastUtil.getInstance().showToast(mContext,"test");
如果在線程中執行的話,必須按照如下格式
ToastUtil.getInstance().showToastInThread(mContext,"str");
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答