片段

时间:2015-04-27 17:38:20

标签: android android-fragments onactivityresult

我有Frag_1_1的Activity_1。在Fragment_1中,我使用嵌套的Fragment_2_1和Fragment_2_2开始新的Activity_2:

getActivity().startActivityForResult(a, Constants.REQUESTCODE_REJECT_PROPOSAL);

{1}}方法覆盖了Activity_1和Fragment_1:

onActivityResult

当Activity_2启动时,Fragment_2_1正在显示。点击按钮,我将Fragment_2_1替换为Fragment 2_2。然后点击按钮

完成Fragment_2_2中的Activity_2
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    Toast.makeText(getActivity(), TAG + "Got Result " + String.valueOf(resultCode),     Toast.LENGTH_SHORT).show();
    super.onActivityResult(requestCode, resultCode, data);
    Toast.makeText(getActivity(), TAG + "Got Result " + String.valueOf(resultCode),     Toast.LENGTH_SHORT).show();
    if (resultCode == getActivity().RESULT_OK)
    {
        if (requestCode==Constants.REQUESTCODE_REJECT_PROPOSAL)
        {
            Log.i(TAG + " onActivityResult", " REQUESTCODE_REJECT_PROPOSAL");
            getMyProposals();
        }
    }
}

但不知何故 @Override public void onClick(View v) { getActivity().setResult(getActivity().RESULT_OK); getActivity().finish(); } 在Fragment_1和Activity_1中都没有被调用。什么可以

1 个答案:

答案 0 :(得分:0)

问题解决了。原因在于设置

  android:launchMode="singleInstance"

表示AndroidManifest中的Activity_1。

删除该属性解决了我的问题。