如果单击快速按钮onClick方法重新启动

时间:2015-08-12 08:55:14

标签: java android button onclicklistener

我没有什么应用程序你可以告诉你的财富(它实际上是随机的),你可以输入四个edittextfields和一个选择其中一个edittextfields的按钮,并删除它。很简单。但我有问题,如果有人多次按下按钮太多,那么onClick()方法中的所有代码都不会执行(可能是因为它再次被调用)。有什么方法可以防止这种情况发生(我希望onClick()方法中的所有代码都可以再次调用之前执行)?

以下是代码:

<meta>

感谢。

2 个答案:

答案 0 :(得分:0)

我不认为&#34; onClick&#34;可以在最后一次&#34; onClick&#34;之前启动完了。

这是来自android文档的qoute:

  

系统不会为组件的每个实例创建单独的线程。在UI线程中实例化在同一进程中运行的所有组件,并从该线程调度对每个组件的系统调用。因此,响应系统回调的方法(例如onKeyDown()报告用户操作或生命周​​期回调方法)总是在进程的UI线程中运行。

http://developer.android.com/guide/components/processes-and-threads.html

也许你在onClick方法中做了一些事情,这会带来麻烦,但是没有代码就很难说:)

答案 1 :(得分:0)

你必须做这样的事情

Button button= (Button) findViewById(R.id.buttonId);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       button.setEnabled(false);

        // do your work here
      // make it true after your work is done 
       button.setEnabled(true);

    }
});