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

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

如果您希望它再次可点击,就setEnabledsetClickabletrue的数据库内容完成之后。

于 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 回答