0

サーバーへの通信を開始するボタンがあります。ただし、オンクリック内からボタンを無効にしようとすると(複数のクリックを停止するため)、オンクリックが終了するまで無効になりません。これは、サーバー通信がメソッドの実行に時間がかかることを意味するため、問題です。フラグを使用して複数のクリックを停止することで回答された以前の質問を見ました (ボタンをすぐに非アクティブ化できないことが既知のバグであると述べられていました)。この問題に対する他のより洗練された解決策はありますか、それともフラグがまだ唯一の方法ですか?

4

3 に答える 3

3

ボタンのonClick()

あなたはできる、

button.setEnabled(false);
于 2012-08-01T07:08:58.907 に答える
2

この問題が発生したときに行ったことは、ブール値のフラグを使用することです。これは、フラグを使用するためのサンプル コードです。

boolean isClicked = false;
Button btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       if (!isClicked) {
           isClicked = true;
           // CONNECT TO SERVER
           isClicked = false;
    }
}
于 2012-08-01T07:15:41.593 に答える
0

ボタンを非表示にすることができます。

button.setVisibility(View.INVISIBLE);

またはボタンを無効にする

button.setEnabled(false);

またはブール値を使用してフラグを保持する

于 2012-08-01T07:17:47.753 に答える