2016-08-28 9 views
1

私は最初のAndroidアプリを開発しています。私は本当に私を悩ます状況があります。Androidショー最新トースト

少数の編集テキストフィールドにいくつかの情報を入力する必要があり、少なくとも1つの空欄があれば続行することはできません。

ユーザーがボタンをクリックして空のフィールドが1つ以上ある場合、特定のトーストが表示されます。

問題は、ユーザーがそのボタンを10回クリックするとその情報が入力され、処理が続行されると、成功した登録のためにトーストメッセージが新しいアクティビティに表示され続けます。

現在表示されているToastを中断し、最新のものを表示したり、この種の動作を停止させる方法がありますか?

編集:私は問題に適しているので、@ Vuckoの答えを受け入れました。 @Augusto Carmoは実際に働く答えを書いたが、私はVuckoの答えを好む、それはもっとエレガントである。

+3

「editText.setError( "何かを入力してください"); '?これはトーストよりも優れており、自動的にエラーを解決します。 – Vucko

+0

@Vuckoいいえ、今まではありませんでした。助けてくれてありがとう。 – Jurza

+0

[質問](http://stackoverflow.com/questions/5907863/how-to-check-if-the-toast-have-dismissed-or-not)と[この質問](http: /stackoverflow.com/questions/5295765/toast-issue-in-android)も同様です。 –

答えて

3

これを行うにはよりエレガントかつ一般的な方法を使用することです:あなたはEDITTEXTで何かを書いたり、手動setError(null);を呼び出すことによって、それを削除することができたら

editText.setError("Your error message"); 

は、これは自分自身を消えます。

3

トーストオブジェクトを1つ持ち、別のトーストメッセージを表示する場合は、最後のメッセージをキャンセルして新しいメッセージを表示します。例:

Toast toast = new Toast(); 
toast.makeText(CONTEXT_HERE, MESSAGE_HERE, TIME_HERE).show(); 

// displaying another 
toast.cancel(); 
toast.makeText(CONTEXT_HERE, ANOTHER_MESSAGE_HERE, TIME_HERE).show(); 
+0

ありがとうございますが、私は@ Vuckoが書いたアプローチを使うと思います。 – Jurza

関連する問題