Toast 是一個方便又簡單的工具,可以直接在畫面上顯示簡短的訊息以通知使用者。
最簡單的呼叫方式:
但這樣會有一個問題,若使用者短時間內連續執行了一堆會產生 Toast 的操作,Toast 會被排在佇列中依序顯示,直到前一個 Toast 結束後才顯示下一個 Toast,一直被累積的結果就是無法立即反應使用者的操作。
那麼要如何讓新的 Toast 能立即被顯示呢?
方法如下:
需要使用 Toast 時,呼叫 showToast() 即可,此時若舊的 Toast 還在,會立刻被更新為新的 Toast 訊息。
參考資料:
http://stackoverflow.com/questions/5503682/how-to-cancel-toast-created-in-a-different-method-on-android
最簡單的呼叫方式:
Toast.makeText(this, "Hello Toast!", Toast.LENGTH_SHORT).show();
但這樣會有一個問題,若使用者短時間內連續執行了一堆會產生 Toast 的操作,Toast 會被排在佇列中依序顯示,直到前一個 Toast 結束後才顯示下一個 Toast,一直被累積的結果就是無法立即反應使用者的操作。
那麼要如何讓新的 Toast 能立即被顯示呢?
方法如下:
private Toast mToast; private void showToast(String msg) { if (mToast == null) { mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT); } mToast.setText(msg); mToast.show(); }
需要使用 Toast 時,呼叫 showToast() 即可,此時若舊的 Toast 還在,會立刻被更新為新的 Toast 訊息。
參考資料:
http://stackoverflow.com/questions/5503682/how-to-cancel-toast-created-in-a-different-method-on-android
留言
張貼留言