删除多个吐司?

时间:2013-12-27 02:23:38

标签: android toast

我在布局上设置了一个按钮,如果用户单击了将显示吐司的按钮......

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();
    }
};

但是当用户多次点击按钮时,他们会显示更多的吐司 我是否可以在屏幕上始终显示一个吐司是否有多少次用户点击按钮? 非常感谢

2 个答案:

答案 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();
                    }
                }
            }); 
        }