如何解決android Toast重復(fù)顯示
Toast是一種簡(jiǎn)易的消息提示框,它無法獲取焦點(diǎn),按設(shè)置的時(shí)間來顯示完以后會(huì)自動(dòng)消失,一般用于幫助或提示。
先給大家分享下我的解決思路:
不用計(jì)算Toast的時(shí)間之類的,就是定義一個(gè)全局的成員變量Toast, 這個(gè)Toast不為null的時(shí)候才去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ù)顯示等待時(shí)間過長(zhǎng)的問題
當(dāng)觸發(fā)點(diǎn)擊事件顯示toast信息時(shí),如果設(shè)置了時(shí)間長(zhǎng)短類型為L(zhǎng)ENGTH_LONG,雖然回到后臺(tái)運(yùn)行,但是依然會(huì)顯示toast信息,尤其是當(dāng)連續(xù)點(diǎn)擊時(shí),toast就會(huì)排隊(duì)等待直到所有toast顯示完畢,這種界面的用戶體驗(yàn)是很差的。
→ 1 toast 2 toast 3 toast 4 toast 5 toast →
為了避免這種問題,可以再toast信息顯示的地方加個(gè)判斷,方法如下:
private Context mcontext; private Toast mtoast; if(mtoast!=null) { mtoast.setText(R.string.neterror); } else { /* * 第一個(gè)參數(shù):當(dāng)前的上下文環(huán)境,用this或getApplicationContext()表示。 * 第二個(gè)參數(shù):顯示的字符串,用R.string表示。 * 第三個(gè)參數(shù):顯示的時(shí)間長(zhǎng)短。用LENGTH_LONG(長(zhǎng))或LENGTH_SHORT(短)表示,也可以用毫秒。 */ mtoast=Toast.makeText(mcontext,R.string.neterror, Toast.LENGTH_SHORT); } mtoast.show(); //顯示toast信息
另外,還可以通過設(shè)置Toast的其他屬性來設(shè)計(jì)自己風(fēng)格的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信息框(長(zhǎng)時(shí)間顯示而非系統(tǒng)關(guān)閉)
- 超簡(jiǎn)單實(shí)現(xiàn)Android自定義Toast示例(附源碼)
- android自定義Toast設(shè)定顯示時(shí)間
- Android9.0上針對(duì)Toast的特殊處理圖文詳解
相關(guān)文章
Android實(shí)現(xiàn)返回拍攝的圖片功能實(shí)例
這篇文章主要介紹了Android實(shí)現(xiàn)返回拍攝的圖片功能,以實(shí)例形式較為詳細(xì)的分析了Android返回拍攝圖片功能的具體步驟與實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07android實(shí)現(xiàn)上滑屏幕隱藏底部菜單欄的示例
這篇文章主要介紹了android實(shí)現(xiàn)上滑屏幕隱藏底部菜單欄的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02Android開發(fā)之Button事件實(shí)現(xiàn)與監(jiān)聽方法總結(jié)
這篇文章主要介紹了Android開發(fā)之Button事件實(shí)現(xiàn)與監(jiān)聽方法,結(jié)合實(shí)例形式總結(jié)分析了Android開發(fā)中Button事件的兩種實(shí)現(xiàn)方法以及針對(duì)Button控件的幾種常用監(jiān)聽方法,需要的朋友可以參考下2016-01-01Android開發(fā)之DrawerLayout實(shí)現(xiàn)抽屜效果
這篇文章主要介紹了Android開發(fā)之DrawerLayout實(shí)現(xiàn)抽屜效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Android?WebRTC?對(duì)?AudioRecord?的使用技術(shù)分享
這篇文章主要介紹了Android?WebRTC?對(duì)?AudioRecord?的使用技術(shù)分享,AudioRecord?是?Android?基于原始PCM音頻數(shù)據(jù)錄制的類,接下來和小編進(jìn)入文章了解更詳細(xì)的內(nèi)容吧2022-02-02Android開發(fā)之imageView圖片按比例縮放的實(shí)現(xiàn)方法
這篇文章主要介紹了Android開發(fā)之imageView圖片按比例縮放的實(shí)現(xiàn)方法,較為詳細(xì)的分析了Android中ImageView控件的scaleType屬性控制圖片縮放的具體用法,需要的朋友可以參考下2016-01-01Android評(píng)分控件RatingBar使用實(shí)例解析
這篇文章主要為大家詳細(xì)介紹了Android評(píng)分控件RatingBar使用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10