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");

這樣就可以實現多次點擊不排隊,只顯示最後一個的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章