Android 如何在对话框中启动tractivityforresult(),以在fragment.onActivityResult中接收结果

Android 如何在对话框中启动tractivityforresult(),以在fragment.onActivityResult中接收结果,android,start-activity,onactivityresult,Android,Start Activity,Onactivityresult,我有一个片段,在其中调用this.startActivityForResult(),结果到达这个片段的onActivityResult()方法,一切正常 当我在同一个片段中打开一个新的对话框时,我如何在对话框中调用startActivityForResult(),以在片段的onActivityResult()方法中接收结果 getOwnerActivity().startActivityForResult(intent, NOTIFY_CODE); // doesn't work 试图将片段(

我有一个片段,在其中调用this.startActivityForResult(),结果到达这个片段的
onActivityResult()
方法,一切正常

当我在同一个
片段中打开一个新的
对话框
时,我如何在对话框中调用
startActivityForResult()
,以在片段的
onActivityResult()
方法中接收结果

getOwnerActivity().startActivityForResult(intent, NOTIFY_CODE); // doesn't work
试图将片段(
)发送到对话框,但我也无法确定

- …非常感谢您的帮助

编辑:打开对话框的代码

       btnNotify.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {                
                NotificationDialog ndialog = new NotificationDialog(v.getContext());
                ndialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                ndialog.setDialogResult(new NotificationDialog.OnMyDialogResult() {
                    @Override
                    public void finish(int dur) {
                        notifyDuration = dur;
                    }
                });
                ndialog.show();
        }
//--在对话框中,我想称之为

public void openNotifySel() {
        Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, getOwnerActivity().getResources().getString(R.string.label_dialog_notify));
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);

??????????????.startActivityForResult(intent, NOTIFY_CODE);
        }

您是否尝试过MyFragmentName.this.startActivityForResult(意图,通知代码)

你能粘贴对话框的代码吗?我得到“MyFragment不是一个封闭类”你是否用你的片段名称替换了
MyFragmentName
openNotifySel()
在您的片段中吗?是的,它实际上被称为SettingsFragment。我尝试调用setingsFragment.this.openNotifySel();和设置Fragment.this.startActivityForResult(意图,通知代码);这两者都不能编译。您可以为
设置片段插入代码吗?包括插入
startActivityForResult()
的行。Thanksit在post openNotifySel()中。它可以在片段中调用它(用这个替换???),但不确定如何从对话框中调用该方法