Android 关于Toast重复显示解决方法


解决思路:

不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的Toast即可.

代码:

  1. private Toast mToast; 
  2.  
  3.     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重复显示问题解决

相关内容