2017-02-09 11 views
0

私のアプリケーションでは、ユーザーはボタンをタップする必要があります。ボタンをタップするたびに「n回タップしました」というトーストが表示されますが、遅すぎると1つずつ表示されます。Androidトーストの時間を表示

public void onClick(View v) 
{ 
    n++; 
    Toast.makeText(MainActivity.this, "You have tapped "+n+" times", Toast.LENGTH_SHORT).show(); 
} 

最後のトーストだけを表示させるために、すべての古いトーストを「削除」する方法はありますか?

+0

)あなたのトーストオブジェクトへの参照を維持し、(.cancelを呼び出しますそれに。 [Toast.cancel()](https://developer.android.com/reference/android/widget/Toast.html#cancel()) – ElegyD

答えて

3

代わりの新しいトースト毎回作る、あなたのインスタンスを維持し、テキスト

mToast.setText("newMessage"); 

全例を更新します。 How to change text in a Toast Notification dynamically while it's being displayed?

+0

あなたはそれを行うことができるか分かりませんでした。そして私は「トーストの話題」がかなり疲れていたと思った。 – FWeigl

+0

今日でも何かを学んだことがあってうれしいです;) – Stefan

1

トーストを参考にして却下してください。

Toast toast; 

public void onClick(View v) 
{ 
    if (toast != null) toast.dismiss() 
    n++; 
    toast = Toast.makeText(MainActivity.this, "You have tapped "+n+" times", Toast.LENGTH_SHORT); 
    toast.show() 
} 
関連する問題