Android中Toast重復顯示每次都延時累計造成提示框一直顯示完累計的時間才退去的問題。
在使用Toast作為提示信息時,Toast會顯示在屏幕下方,一般用來提示用戶的誤操作。當用戶在某些情況下,用戶連續誤操作多次時,會導致出現很多個Toast,依次顯示,會在頁面上停留很長時間,這個會嚴重影響軟件的用戶親和性。我們可以通過一下方法來實現在一個Toast沒有結束的時候再顯示Toast不累加時間,而是打斷當前的Toast,顯示新的Toast。這樣Toast就不會停留在界面很久。而最多顯示一個Toast提示時間的。
import android.widget.Toast;
--------------------------------------------------------------------------------
//使用的地方1
showTextToast(getString(R.string.toast_irregular_number));
//使用的地方2
showTextToast(getString(R.string.toast_irregular_number2));
--------------------------------------------------------------------------------
private Toast toast = null;
private void showTextToast(String msg) {
if (toast == null) {
toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);
} else {
toast.setText(msg);
}
toast.show();
}