点击活动中只显示一个Toast?

时间:2011-07-12 13:45:24

标签: android toast buttonclick

我想通知用户他已达到最低价值。通过按钮单击设置该值。如果他继续点击按钮,当达到最小值时,Toasts开始出现并排队,因此所有人都需要很长时间才能消失。

btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
             if (value < MIN_VALUE) {
                    Toast.makeText(MyActivity.this, "You have reached the minimum value",
                            Toast.LENGTH_SHORT).show();
                }
        });

如何在按钮点击时只显示第一个吐司?这样,如果用户一直点击按钮,则不会出现其他祝酒词。

3 个答案:

答案 0 :(得分:5)

添加一个标志,指示按钮是否已被按下:

btn.setOnClickListener(new View.OnClickListener() {
        boolean pressed = false;
        public void onClick(View view) {
         if ((value < MIN_VALUE) && (!pressed)) {
                Toast.makeText(MyActivity.this, "You have reached the minimum value",
                        Toast.LENGTH_SHORT).show();
                pressed = true;
            }
    });

答案 1 :(得分:5)

public static void showToast(Context cont, String message) {
    if (mToast == null) {
        mToast = Toast.makeText(cont, message, Toast.LENGTH_SHORT);
    }
    if (!mToast.getView().isShown()) {
        mToast.setText(message);
        mToast.show();
    }
}

答案 2 :(得分:3)

一旦达到极限,显示吐司并通过覆盖button.setEnabled(false);

禁用按钮的onClick

因此,现在用户将无法多次单击该按钮。