如何解決android Toast重復(fù)顯示
Toast是一種簡易的消息提示框,它無法獲取焦點,按設(shè)置的時間來顯示完以后會自動消失,一般用于幫助或提示。
先給大家分享下我的解決思路:
不用計算Toast的時間之類的,就是定義一個全局的成員變量Toast, 這個Toast不為null的時候才去make,否則直接setText.為了按返回鍵后立即使Toast不再顯示,重寫父類Activity的onBackPressed()方法里面去cancel你的Toast即可.
代碼:
private Toast mToast; public void showToast(String text) { if(mToast == null) { mToast = Toast.makeText(TestActivity.this, text, Toast.LENGTH_SHORT); } else { mToast.setText(text); mToast.setDuration(Toast.LENGTH_SHORT); } mToast.show(); } public void cancelToast() { if (mToast != null) { mToast.cancel(); } } public void onBackPressed() { cancelToast(); super.onBackPressed(); }
下面介紹下解決Android Toast重復(fù)顯示等待時間過長的問題
當觸發(fā)點擊事件顯示toast信息時,如果設(shè)置了時間長短類型為LENGTH_LONG,雖然回到后臺運行,但是依然會顯示toast信息,尤其是當連續(xù)點擊時,toast就會排隊等待直到所有toast顯示完畢,這種界面的用戶體驗是很差的。
→ 1 toast 2 toast 3 toast 4 toast 5 toast →
為了避免這種問題,可以再toast信息顯示的地方加個判斷,方法如下:
private Context mcontext; private Toast mtoast; if(mtoast!=null) { mtoast.setText(R.string.neterror); } else { /* * 第一個參數(shù):當前的上下文環(huán)境,用this或getApplicationContext()表示。 * 第二個參數(shù):顯示的字符串,用R.string表示。 * 第三個參數(shù):顯示的時間長短。用LENGTH_LONG(長)或LENGTH_SHORT(短)表示,也可以用毫秒。 */ mtoast=Toast.makeText(mcontext,R.string.neterror, Toast.LENGTH_SHORT); } mtoast.show(); //顯示toast信息
另外,還可以通過設(shè)置Toast的其他屬性來設(shè)計自己風格的Toast消息框。
- Android Toast的用法總結(jié)(五種用法)
- Android使用Toast顯示消息提示框
- Android中使用Toast.cancel()方法優(yōu)化toast內(nèi)容顯示的解決方法
- Android控件系列之Toast使用介紹
- android之自定義Toast使用方法
- Android 5.0以上Toast不顯示的解決方法
- Android開發(fā)技巧之永不關(guān)閉的Toast信息框(長時間顯示而非系統(tǒng)關(guān)閉)
- 超簡單實現(xiàn)Android自定義Toast示例(附源碼)
- android自定義Toast設(shè)定顯示時間
- Android9.0上針對Toast的特殊處理圖文詳解
相關(guān)文章
Android開發(fā)之Button事件實現(xiàn)與監(jiān)聽方法總結(jié)
這篇文章主要介紹了Android開發(fā)之Button事件實現(xiàn)與監(jiān)聽方法,結(jié)合實例形式總結(jié)分析了Android開發(fā)中Button事件的兩種實現(xiàn)方法以及針對Button控件的幾種常用監(jiān)聽方法,需要的朋友可以參考下2016-01-01Android開發(fā)之DrawerLayout實現(xiàn)抽屜效果
這篇文章主要介紹了Android開發(fā)之DrawerLayout實現(xiàn)抽屜效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Android?WebRTC?對?AudioRecord?的使用技術(shù)分享
這篇文章主要介紹了Android?WebRTC?對?AudioRecord?的使用技術(shù)分享,AudioRecord?是?Android?基于原始PCM音頻數(shù)據(jù)錄制的類,接下來和小編進入文章了解更詳細的內(nèi)容吧2022-02-02Android開發(fā)之imageView圖片按比例縮放的實現(xiàn)方法
這篇文章主要介紹了Android開發(fā)之imageView圖片按比例縮放的實現(xiàn)方法,較為詳細的分析了Android中ImageView控件的scaleType屬性控制圖片縮放的具體用法,需要的朋友可以參考下2016-01-01