0

アイコン付きのリストビューがあります。アイコンをクリックすると、ダイログがトリガーされます..私の実装は以下のとおりです

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();
        }

    }

私の問題は、ダイログが一度だけトリガーされることです。たとえば、アイコンをクリックすると、cancelbutoon をクリックするか、戻るボタンを押した後に最初にダイログが開き、2 回目にダイログをクリックすると、何が起こっているのかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

で解決setOnCancellistener

dialog.setOnCancelListener(new OnCancelListener() {

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