0

アプリケーション全体でトースト ダイアログをよく使用します。ただし、アクティビティを切り替えた後、タイマーが切れるまでダイアログが表示されたままになることに気付きました。

Toast.makeText( getApplicationContext(), R.string.toast_need_bt, Toast.LENGTH_LONG ).show();

Toast.LENGTH_LONGメッセージが長く、ユーザーがそれを読むことにした場合は、より長い時間のオプションが必要になるため、使用します。ただし、ユーザーがアプリケーションを 1 回または 2 回使用すると、トースト メッセージを読む必要がなくなり、アクティビティからアクティビティへとすばやく移動できます。ただし、アクティビティからアクティビティに切り替えても、これらのトースト ダイアログは画面に表示されたままになります。

現在のアクティビティが終了した場合、すべてのトースト ダイアログを終了する方法はありますか?

4

3 に答える 3

2

cancel()アクティビティを終了/終了するときに toast オブジェクトを呼び出すここにドキュメントToastへのリンクがあります

于 2013-01-03T21:26:16.627 に答える
1

.cancel()メソッドの使用方法についてはすでにいくつかの回答がありますが、このユースケースにいくつかのオプションを追加したいと思います。

1)レイアウト通知でCyrilMottierの記事をここに作成します

2)トーストを最初のX回だけ表示する

3)[通知を表示]チェックボックスを使用してダイアログを作成し、ユーザーがオプトアウトできるようにします。

于 2013-01-03T21:29:54.127 に答える
1

Toast.makeTextオブジェクトを返しToastます。このオブジェクトを呼び出しcancel()てキャンセルします。このトピックに関するその他の回答については、この投稿を確認してください。トーストをキャンセルする方法

于 2013-01-03T21:25:09.197 に答える