1. 程式人生 > >Android進階之Toast重複顯示解決方法

Android進階之Toast重複顯示解決方法

1 解決思路

不用計算Toast的時間之類的,就是定義一個全域性的成員變數Toast, 這個Toast不為null的時候才去make,否則直接setText.為了按返回鍵後立即使Toast不再顯示,重寫父類Activity的onBackPressed()方法裡面去cancel你的Toast即可.

2 程式碼實現

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(); } /** * 標題欄返回鍵監聽 */ @Override public void onClick(View v) { switch (v.getId()) { case R.id.backView: cancelToast();//退出吐司 finish(); break
; } }