本文为大家分享了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");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。