Android中防止Toast重复显示的问题

来源:互联网 发布:python 最小化任务栏 编辑:程序博客网 时间:2024/05/14 18:23

今天为了删除ListView中item数据一直点点点,点完了发现Toast很久都还是显示的。这是当Toast响应点击事件时,如果用户连续点击,就会导致多个Toast排队等待依次显示,这让用户感觉太不友好了

解决思路: 不用计算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();          }  
0 0
原创粉丝点击