如何删除当前显示的所有toast消息?
在我的应用中,有一个列表,当用户点击一个项目时,会显示一条吐司消息,10个项目- 10个吐司消息。
因此,如果用户点击10次,然后按下菜单按钮,他们必须等待几秒钟,直到他们能够阅读菜单选项文本。
它不应该是这样的:)
发布于 2010-12-20 06:40:31
我的解决方案是在activity中初始化一个Toast。然后在每次单击时更改其文本。
Toast mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
if (a) {
mToast.setText("This is a");
mToast.show();
} else if (b) {
mToast.setText("This is b");
mToast.show();
}
发布于 2012-07-04 05:12:06
如何检查是否已经显示了一个吐司?
private Toast toast;
...
void showToast() {
if (toast == null || toast.getView().getWindowVisibility() != View.VISIBLE) {
toast = Toast.makeText(getActivity(), "Toast!", Toast.LENGTH_LONG);
toast.show();
}
}
发布于 2011-03-22 06:25:02
在类似的问题上,穆达尔的解决方案对我来说效果很好--在多次点击button
之后,我有各种各样的吐司堆积在积压中。
一个带有不同setText()s
和show()
的Toast实例正是我要寻找的答案--上一条消息在单击新按钮时立即取消。点亮
仅供参考,我是这么做的.
在OnCreate
中
final Toast myToast = Toast.makeText(getBaseContext(), "", Toast.LENGTH_SHORT);
在每个OnClick
中
myToast.setText(R.string.toast1);
myToast.show();
https://stackoverflow.com/questions/2755277
复制相似问题