调用startActivityForResult后,DialogFragment消失

时间:2015-04-21 16:34:36

标签: android fragment onactivityresult

我从startActivity致电DialogFragment。但是,当我通过调用getActivity().startactivityforResult()得到结果时,我的对话框不再可见。 我似乎无法致电startActivityForResult(),因为除非从我的活动中调用,否则onActivityResult似乎无法被调用。

@Override
public void onDestroyView() {

    if (getDialog() != null && getRetainInstance()){
        getDialog().setDismissMessage(null);
    }
    super.onDestroyView();
}

我已尝试覆盖onDestroyView。 但是,在我的活动onActiivtyResult上,我的对话框不为空,但isResumed()和isVisible()将返回false。我希望能够将startActivityForResult返回的数据传递给我的dialogfragment。我怎么能这样做?

@Override
onActivityResult(....)
    if(uploadFileSourceFragment != null){
         uploadFileSourceFragment.onActivityResult(...)
}

1 个答案:

答案 0 :(得分:1)

从您的片段中调用startActivityOnResult(),而不是从您的活动中调用它。