如何停止显示在 android 队列中的 Toast 消息

Bas*_*ali 2 android toast

下面的代码显示了我目前的实现,这里正在创建一个 toast 对象并在 onPause() 中关闭。这工作正常,直到没有敬酒队列。

public static long **savedTimeStamp=0**;
    Toast showToastMessage;

if(System.currentTimeMillis()/1000 - savedTimeStamp >= 60 || savedTimeStamp==0){
    showToastMessage=Toast.makeText(this.this, "Toast message", Toast.LENGTH_LONG);
    showToastMessage.show();
    savedTimeStamp=System.currentTimeMillis()/1000;
}

    @Override
             protected void onPause() {
                  super.onPause();
                  if(showToastMessage!=null)
                    {
                    showToastMessage.cancel();
                    }
    }
Run Code Online (Sandbox Code Playgroud)

iag*_*een 6

我发现仅在实例上使用Toast效果最好。第一次分配它,只需更新它setText并重新显示。然后取消按预期工作,因为只有一个实例要取消。

if (showToastMessage != null) {
    showToastMessage.setText("New Toast message");
    showToastMessage.show();
} else {
    showToastMessage = Toast.makeText(showString.this,"First Toast message",Toast.LENGTH_LONG);
    showToastMessage.show();
}
Run Code Online (Sandbox Code Playgroud)