码迷,mamicode.com
首页 > 其他好文 > 详细

Toast在关闭应用后还显示的解决办法

时间:2014-07-16 17:41:00      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   文件   io   cti   

1.我们在用Toast的用法就是:Toast.makeText(Context,CharSequence , Duration).show()。但有的时候如果你在一次操作当中多次点击一个view的时候去显示Toast,可能在你关闭

应用后Toast任然会继续显示,这个小瑕疵很是讨厌。下面就说一下解决办法(用到activity的生命周期):

就是在要用Toast的Activity中添加两个函数:

函数一:

 1     // 对toast进行一个简单的封装
 2     public void toastShow(CharSequence message) {
 3         if (null == mToast) {
 4             mToast = Toast.makeText(MainActivity.this, message,
 5                     Toast.LENGTH_SHORT);
 6             mToast.setGravity(Gravity.CENTER, 0, 0);
 7         } else {
 8             mToast.setText(message);
 9         }
10 
11         mToast.show();
12 
13     }

函数二:

1 //取消Toast
2     public void toastStop() {
3         if (null != mToast) {
4             mToast.cancel();
5 
6         }
7 
8     }

然后再Activity的OnPause()中调用toastStop()方法即可去掉Toast.

整个Activity示例:

public class MainActivity extends Activity {

    private Button btn;
    private Toast mToast;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View v) {
                toastShow("toast");
            }
        });

    }

    // 对toast进行一个简单的封装
    public void toastShow(CharSequence message) {
        if (null == mToast) {
            mToast = Toast.makeText(MainActivity.this, message,
                    Toast.LENGTH_SHORT);
            mToast.setGravity(Gravity.CENTER, 0, 0);
        } else {
            mToast.setText(message);
        }

        mToast.show();

    }
    //取消Toast
    public void toastStop() {
        if (null != mToast) {
            mToast.cancel();

        }

    }


    @Override
    protected void onPause() {
        System.out.println("onPause() ");
        toastStop();
        super.onPause();

    }

}

xml文件哪些就没必要贴出来了。

 

 

 

 

Toast在关闭应用后还显示的解决办法,布布扣,bubuko.com

Toast在关闭应用后还显示的解决办法

标签:style   blog   color   文件   io   cti   

原文地址:http://www.cnblogs.com/liangstudyhome/p/3847796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!