原理很简单,就是把Toast作为static变量,每次show之前检查一下目前有没有Toast就行,有的话就先Cancel掉再makeText,show,没有的话就直接makeText,show就行。
package com.unity3d.player;
import android.content.Context;
import android.widget.Toast;
public class ToastUtils {
public static Toast mToast;
public static void show(Context context, int msgId) {
if (context != null)
show(context, context.getResources().getString(msgId));
}
public static void show(Context context, String msg) {
if (mToast == null){
mToast = Toast.makeText(context.getApplicationContext(), msg,Toast.LENGTH_SHORT);
}else{
//mToast.setText(msg);
mToast.cancel();
mToast = Toast.makeText(context.getApplicationContext(),msg,Toast.LENGTH_SHORT);
}
mToast.show();
}
}