11

私のアプリケーションはToast、特定のアクションが発生したときに を表示します。Toastただし、これらのアクションのうちの 2 つが近接して発生した場合は、最初の を表示せず、2 番目のアクションのみを表示したいと思います。私はうまくいくと思っToast.cancel()ていましたが、最初のトーストを非表示にするだけです。2番目のものは、最初のものの表示が終了した後にのみ表示されます。

コード例:

Toast toast1 = Toast.makeText(parentActivity, "Test1", Toast.LENGTH_SHORT);
Toast toast2 = Toast.makeText(parentActivity, "Test2", Toast.LENGTH_SHORT);

toast1.show();
toast2.show();

toast1.cancel();

2 つ目Toastは、短い時間 (短い期間の長さ) を待ってから表示されます。実際、これは を呼び出しても発生しますtoast2.cancel()

4

2 に答える 2

1

これが機能するかどうかはわかりませんが、両方をキャンセルしてから、2 つ目をもう一度表示してみてください。

于 2011-02-01T21:27:41.833 に答える
1

Toast.makeText(context, text, duration)Toastオブジェクトを返します。キャンセルするには、このオブジェクトでcancel()メソッドを呼び出します。

例:

Toast mToastText = Toast.makeText(getApplicationContext(), "Hello StackOverFlow!", Toast.LENGTH_SHORT);
 mToastText.cancel();
于 2013-09-03T16:18:38.657 に答える