软件编程
位置:首页>> 软件编程>> Android编程>> Toast类避免显示时间叠加的方法

Toast类避免显示时间叠加的方法

作者:琦琦安卓进阶  发布时间:2021-08-20 02:01:42 

标签:Toast,显示时间,时间叠加

本文为大家分享了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");

来源:https://blog.csdn.net/qq_28695619/article/details/53813177

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com