1

最小値に達したことをユーザーに通知したい。値は、ボタンのクリックによって設定されます。彼がボタンをクリックし続けると、最小値に達すると、トーストが表示されてキューに入れられるため、すべてが消えるまでに長い時間がかかります。

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

ボタンをクリックしたときに最初のトーストだけを表示するにはどうすればよいですか? このようにして、ユーザーがボタンをクリックし続けると、他のトーストは表示されません。

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 に答える
3

彼が限界に達したら、トーストを表示し、オーバーライドしてボタンのonClickを無効にしますbutton.setEnabled(false);

そのため、ユーザーはボタンを2回以上クリックできなくなります。

于 2011-07-12T13:57:30.100 に答える