Android Studio 中 Toast重複點選不排隊
在使用Toast時,如果直接呼叫makeText函式,每次點選就會建立一個Toast物件,後面的Toast物件會在前面的Toast顯示完以後依次顯示。
所以會導致點選10次一直顯示幾十秒的情況,和我們平常使用的習慣不符。因此封裝一個ToastUtil類實現 每次點選都顯示最後一個。
public class ToastUtil { public static Toast mToast; public void showMsg(Context context,String Msg) { if (mToast == null) { mToast = Toast.makeText(context,msg,Toast.LENGTH_LONG); } else { mToast.setText(msg); } mToast.show(); } }
首先定義一個mToast,在第一次點選時mToast == null,因此makeText建立一個Toast物件然後用show()顯示,在第二次點選後只對mToast的文字顯示進行設定然後顯示。在這個過程中只在第一次點選建立了一個Toast物件,在後面的點選中,每點選一次重設一次mToast然後顯示,因此只會顯示最後一個。
在Activity中呼叫:
ToastUtil.showMsg(getApplicationContext(),"有個性的Toast");
這樣就可以實現多次點選不排隊,只顯示最後一個的功能。