片段中的startActivityForResult()并完成子活动,但在片段中未调用onActivityResult()


FirstActivity.Java有一个FragmentA.Java调用startActivityForResult()SecondActivity.Java呼叫,finish()onActivityResult永远不会被呼叫FragmentA.Java

FragmentA.Java 码:

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // some code
    Intent i = new Intent(getActivity(), SecondActivity.class);
    i.putExtra("helloString", helloString);
    getActivity().startActivityForResult(i, 1);
  }

  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    getActivity();
    if(requestCode == 1 && resultCode == Activity.RESULT_OK) {
       //some code
    }
  }

SecondActivity.Java 码:

  @Override
  protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       //some code
       Intent returnIntent = new Intent();
       returnIntent.putExtra("result", result);                          

       setResult(Activity.RESULT_OK,returnIntent);     
       finish();
  }

我曾尝试调试代码,但从onAcitvityResult()未被调用。

转载请注明出处:http://www.yinxuebaozhuang.com/article/20230526/881329.html