2012-04-24 66 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() 

} 


}