Android中防止Toast重复显示

1. 开发实景

在开发过程中,我们经常会用到Toast来提示消息。但我们经常会遇到这样一个情况:当点击某个控件会弹出Toast时,如果直接使用Toast.makeText()的方式的话,会发现在我们不断点击的情况下,Toast会地不断地显示,直到点击的次数的Toast出现完毕为止,这样就会降低了用户对软件的体验。

2. 解决方法

private static Toast toast;

public static void showToastCenter(Context context, String msg) {
    if (toast != null) {
        toast.cancel();
        toast = null;
    }
    toast = Toast.makeText(context, "", Toast.LENGTH_SHORT); //如果有居中显示需求
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.setText(msg);
    toast.show();
}

你可能感兴趣的:(Android中防止Toast重复显示)