禁用Toast的异步显示

Ale*_*lex 3 android

假设Button每次点击它都有一个,它会显示一条Toast消息" Hello ".如果你决定Button反复点击20次,那么Toasts将异步显示,轮流等待每一个.但是,这不是我真正想要的.

我想要的是以下内容:每当我按下时Button,我希望它取消之前显示的Toast并显示实际的.因此,当我关闭应用程序时,Toast如果用户决定通过Button在很短的时间内点击100次来混淆应用程序,则不会显示任何内容.

Rag*_*ood 6

您需要在类级别声明Toast,然后在构造新的Toast对象并显示它之前调用toast.cancel().

public class XYZ extends Activity {

    Toast mToast;

    public void onCreate(Bundle b) {
    .....
    button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if(mToast != null) 
                    mToast.cancel();
                mToast = Toast.makeText.....;
            }

        });
    }

}
Run Code Online (Sandbox Code Playgroud)