0

データベースにbutton.setOnClickListener()データを挿入する がありますが、button.setOnClickListener()複数回クリックしても一度だけ呼び出す必要があります。以下のコードを試しましたが、うまくいきませんでした:

int flag=1;

@Override
public void onClick(View v) 
{
    if(flag)
    {
        button.setEnabled(false);
        Log.d("ins", "called");
    }

    flag=0;
}

これに関する提案はほとんど受け入れられます。

4

3 に答える 3

2

これを試して

@Override 
public void onClick(View v) {
  // do database stuff
  button.setEnabled(false);
  button.setClickable(false);
  Log.d("ins", "called");
}

必要に応じて、データベースの処理は 1 回だけ実行され、ボタンは 1 回だけクリックされます。

もう一度クリックできるようにしたい場合は、データベースの処理が完了した直後にsetEnabled行います。setClickabletrue

于 2013-06-04T07:39:40.247 に答える
0

これはおそらくうまくいかないでしょう。これを回避する理想的な方法:

  1. ボタンがクリックされました。
  2. ボタンを無効にします。
  3. 作業を行います..レコードをデータベースに挿入します。
  4. ボタンを再度有効にします。
于 2013-06-04T07:40:40.380 に答える
0

あなたもできる、

@Override public void onClick(View v) {
    if(flag) {
        /* Perform button functions */
    }
}
于 2013-06-04T07:40:56.117 に答える