2012-04-24 81 views
0

我在方法showText();當我們調用該方法時,此方法顯示敬酒。在第二項活動中,我有一個按鈕,當我點擊按鈕時,我的Toast必須顯示。一切都很好,但當我點擊兩次或者多次時,我的烤麪包就會顯示很長時間。只有當我點擊按鈕時,我想烤麪包,當我再次點擊時,第一次敬酒disapear和再次顯示。Android和吐司期間

public void showText(String msg) { 

     Toast.makeText(this, msg, 1000).show(); 

} 

我該怎麼做?

回答

3

而不是調用顯示()的,你可以保持一個參考吐司剛剛創建

Toast toast = Toast.makeText(this, msg, 1000); 
then toast.show(); 
and then later, call some methods on the toast like toast.cancel(); 

http://developer.android.com/reference/android/widget/Toast.html

+0

這是工作的時候我在第一次活動中有這種烤麪包和這種方法,我想在第二次使用該解決方案? – edi233 2012-04-24 07:17:04

+0

@ edi233這就是它應該如何完成的。但Toast.cancel()在某些情況下似乎是越野車,只是不會做任何事情。如果你不能使用cancel(),你可能不得不轉向另一個解決方案(例如:你自己定製的'toast')。編輯:這不是評論回覆您的評論。 – Joe 2012-04-24 07:19:47

1

你能做到這樣

class YourActivity extends Activity implements OnclickListener 
{ 

Toast toast = null; 

void onclick(View v) 
{ 
//call showText() method 
} 

// modify your showText as follows 
public void showText(String msg) { 

    if(toast != null) 
    { 
    toast.cancel(); 
    toast = null; 
    } 
    toast = new Toast(YourActivity.this); 
    toast.setText(msg); 
    toast.show() 

} 


}