有时候点击按钮会出现提示Toast,如果多次点击,就会一直累计出现,即使你离开这个Activity还是会出现知道最后一Toast显示完,有什么办法让一离开,比如按back键就不让这些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(MobileSendTopicActivity.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();
- }
-