0

我在方法 showText(); 当我们调用该方法时,该方法会显示 toast。在第二个活动中,我有一个按钮,当我单击该按钮时,必须显示我的 Toast。一切都很好,但是当我点击两次或多次时,我的吐司会显示很长时间。我只想在单击按钮时显示烤面包,当我再次单击时,第一个烤面包消失并再次显示。

public void showText(String msg) {

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

}

我怎么能做到这一点?

4

2 回答 2

3

您可以保留对刚刚创建的 Toast 的引用,而不是调用 show()

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

于 2012-04-24T07:12:56.993 回答
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()

}


}
于 2012-04-24T07:22:16.830 回答