对话框中的Android按钮注册2次

时间:2015-09-16 22:28:39

标签: android button onclicklistener

我有一个显示在屏幕上的对话框,上面有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 */
        }
    });
}

0 个答案:

没有答案