我在布局上设置了一个按钮,如果用户单击了将显示吐司的按钮......
button.setOnClickListener(toastListener);
OnClickListener toastListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast error = Toast.makeText(this, msg, Toast.LENGTH_LONG);
error.show();
}
};
但是当用户多次点击按钮时,他们会显示更多的吐司 我是否可以在屏幕上始终显示一个吐司是否有多少次用户点击按钮? 非常感谢
答案 0 :(得分:6)
我没有尝试过它,但我怀疑只是在下一次点击时取消它并制作一个新的就好了。
Toast mToast;
public void onContentChanged() {
...
button.setOnClickListener(toastListener);
OnClickListener toastListener = new OnClickListener() {
@Override
public void onClick(View v) {
if(mToast != null) {
mToast.cancel();
}
mToast = Toast.makeText(this, msg, Toast.LENGTH_LONG);
mToast.show();
}
};
答案 1 :(得分:1)
我使用以下方法来实现此目的。
private void showToastMessage(final String message) {
mHandler.post(new Runnable() {
public void run() {
if (mToast == null) {
if (getActivity() != null) {
mToast = Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT);
}
}
if (getActivity() != null) {
mToast.setText(message);
mToast.show();
}
}
});
}