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