在Android中转到另一个屏幕时停止所有Toast消息

pra*_*gai 4 android toast

在此输入图像描述 在此输入图像描述

当我点击按钮时,我正在显示一个简单的Toast.我的问题是,当我多次点击一个按钮时,Toast消息会一直显示,直到我进入主屏幕.当我到达主屏幕并在相应的活动中杀死Toast消息时,我想停止Toast.我附上了截图.

我编写的代码如下:

public class Main extends Activity {

    Dialog d;
    Toast t;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                t = Toast.makeText(Main.this, "you clicked on button!", Toast.LENGTH_LONG);
                t.show();
            }
        });
    }
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        t.cancel();
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

Moj*_*sin 7

嗨,我有同样的问题.问题是Toast重叠,例如如果按10次Toast将保持10 x LENGTH_SHORT.我带来的唯一解决方案是控制Toast由我自己显示的时间.当您显示Toast时,只需跟踪上次显示它,它仍然在屏幕上不再显示它.在最糟糕的情况下,Toast仅在LENGTH_SHORT时间可见.


mih*_*ail 6

Toast.makeText返回Toast对象.您可以调用cancel()此对象取消它,然后显示新对象.