1

我想通知用户他已达到最小值。该值是通过单击按钮设置的。如果他继续点击一个按钮,当达到最小值时,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();
                }
        });

我怎样才能让第一个吐司出现在按钮点击上?这样,如果用户继续单击按钮,则不会出现其他 toast。

4

3 回答 3

6

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

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;
            }
    });
于 2011-07-12T13:48:42.890 回答
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();
    }
}
于 2012-10-02T07:46:30.303 回答
3

一旦他达到他的极限,显示吐司并通过覆盖禁用按钮的onClickbutton.setEnabled(false);

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

于 2011-07-12T13:57:30.100 回答