我有一个显示在屏幕上的对话框,上面有5个按钮。其中一个按钮有时(30个案例中的1个)注册两次。 Button onClick事件通过HTTP API发出请求。现在,当我查看日志时,我看到该请求来自同一秒(女巫也可以在logCat中看到)。问题是我不能重现这个问题,但它就在那里。我正在以编程方式实现onClick侦听器button.setOnClickListener(new onClickListener()...);
任何想法?
非常感谢任何帮助。
Dialog dialog;
Button button1;
Button button2;
Button button3;
Button button4;
Button button5;
public void showDialog(String serviceID) {
if (dialog != null && dialog.isShowing()) {
return;
}
dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.layout_dialog);
dialog.show();
dialog.setCancelable(false);
button1 = (Button) dialog.findViewById(R.id.btn_dialog_1);
button2 = (Button) dialog.findViewById(R.id.btn_dialog_2);
button3 = (Button) dialog.findViewById(R.id.btn_dialog_3);
button4 = (Button) dialog.findViewById(R.id.btn_dialog_4);
button5 = (Button) dialog.findViewById(R.id.btn_dialog_5);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button1.setEnabled(false);
/* Code */
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button2.setEnabled(false);
/* Code */
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button3.setEnabled(false);
/* Code */
}
});
button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button4.setEnabled(false);
/* Code */
}
});
button5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button5.setEnabled(false);
/* Code */
}
});
}