0

我有一个带有图标的列表视图,当我单击该图标时,它会触发一个 dailog ..我的实现如下

private void sendmessage() {

        final Dialog dialog = new Dialog(getActivity(),
                R.style.FullHeightDialog);
        dialog.setContentView(R.layout.customdailog);
        WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
        lp.copyFrom(dialog.getWindow().getAttributes());
        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;

        try {
            final EditText edittext = (EditText) dialog
                    .findViewById(R.id.fbedittext);

            spinner = (Spinner) dialog.findViewById(R.id.replyspinner);

            Button diButton = (Button) dialog.findViewById(R.id.fbshare);
            ImageView dialogcancelButton = (ImageView) dialog
                    .findViewById(R.id.fbreplycancel);
            dialogcancelButton.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    dialog.dismiss();
                    getActivity().finish();

                }});

            diButton.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    try {
                        String userComment = edittext.getText().toString();
                        boolean postStatus=true;

                        postStatus=false;
                        }


                        postReply(userComment,postStatus);
                        getActivity().finish();

                         }
                         }  } catch (Exception e) {}});

            dialog.show();
            dialog.getWindow().setAttributes(lp);
            } catch (Exception e) {
            e.printStackTrace();
            getActivity().finish();
        }

    }

我的问题是 dailog 仅触发一次,例如,当我在单击 cancelbutoon 或按后退按钮后第一次单击图标打开 dailog 时,当我再次单击时,dailog 未打开,不确定发生了什么。任何帮助表示赞赏。

4

1 回答 1

0

解决了setOnCancellistener

dialog.setOnCancelListener(new OnCancelListener() {

            @Override
            public void onCancel(DialogInterface dialog) {
                getActivity().finish();
            }
        } );
于 2013-02-22T10:00:28.923 回答