【问题标题】:Stop the toast while quitting the app退出应用程序时停止吐司
【发布时间】:2017-05-25 19:12:42
【问题描述】:

我正在做一个使用一些 Toast 的应用程序。

如果出现 Toast,同时我退出应用程序,它通常不会消失。

如果我在手机上退出应用程序,有没有办法停止 Toast?

【问题讨论】:

    标签: android toast


    【解决方案1】:

    在 Activity onStop 或 ondestroy 中使用 cancel() 方法

    public class MainActivity extends Activity {
    private Toast toast = null;
    
    @SuppressLint("ShowToast")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toast = Toast.makeText(getApplicationContext(), "", Toast.LENGTH_LONG);
        showMyToast();
         }
    
    
       public void showMyToast()
       toast.setText(" test toast");
                toast.show();
      }
    
    @Override
    protected void onStop () {
        super.onStop();
        toast.cancel();
    }
    

    【讨论】:

      【解决方案2】:

      退出添加时需要写这个

      toast.cancel();
      

      【讨论】:

        【解决方案3】:

        Toast.makeText 返回一个 Toast 对象。在这个对象上调用cancel() 来取消它。

        Toast toast = Toast.makeText(this, "Hello..", Toast.LENGTH_LONG);
        toast.cancel();
        

        【讨论】:

          【解决方案4】:

          使用 android 活动生命周期并覆盖 onstop() 或 onPause mthodes

          • onPause() 在活动对用户不可见时调用。
          • onStop() 在活动不再对用户可见时调用。

              @Override
               protected void onPause () {
                super.onPause();
                toast.cancel();
              }
            

          @Override
               protected void onStop () {
              super.onStop();
              toast.cancel();
            }
          

          【讨论】:

            猜你喜欢
            • 2013-10-21
            • 1970-01-01
            • 2012-05-07
            • 1970-01-01
            • 2013-01-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多