解決使用者多次點選彈出Toast佇列長時間顯示問題
阿新 • • 發佈:2019-02-12
Toast物件在show時系統是將該物件放入佇列中,當隊列當前沒有要顯示的toast時才顯示本次show請求,這就帶來了一些困擾,比如某個操作我們會通過toast提示一些資訊,但是如果使用者頻繁進行此操作,會在佇列內堆積非常多的內容,造成不好的使用者體驗,解決辦法是建立工具類,判斷成員變數mtoast是否為null,如果為null則通過newToast()對其賦值,如果不為null則通過setText方法設定其內容。
public class ToastUtil //新建一個Toast工具類
{
private static Toast mToast;
public static void showToast(Context context, String msg, intduration) {
if (mToast == null) {
mToast = Toast.makeText(context, msg, duration);
} else {
mToast.setText(msg);
}
mToast.show();
}
要用的時候呼叫ToastUtil.showToast(context, msg, duration);