按钮上的多次单击会导致在Android中多次调用button.setOnClickListener

时间:2013-06-04 07:38:01

标签: android

我有一个button.setOnClickListener()将数据插入到数据库中,但即使多次点击,我也只需要调用button.setOnClickListener()一次,我尝试了下面的代码,但它不起作用:< / p>

int flag=1;

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

    flag=0;
}

对此的任何建议都被接受。

3 个答案:

答案 0 :(得分:2)

试试这个

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

数据库内容只会执行一次,按钮只会根据您的要求点击一次。

如果您希望再次点击它,只需在数据库内容完成后setEnabledsetClickabletrue

答案 1 :(得分:0)

这可能行不通。解决这个问题的理想方式:

    点击
  1. 按钮。
  2. 禁用按钮。
  3. 工作..将记录插入数据库。
  4. 再次启用按钮。

答案 2 :(得分:0)

您也可以这样做,

@Override public void onClick(View v) {
    if(flag) {
        /* Perform button functions */
    }
}