-5

my flux enter image description here

fragclient > activity > fragsearchclient (fragsearchclient return sucess for fragclient )

fragproduct > activity > fragsearchprodutc (fragsearch produtc return falied, not call onActivityResult of fragproduct)

help?

example

public class MainActivityFragment extends Fragment {

    public MainActivityFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_main, container, false);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startActivity(new Intent(getActivity(), MainActivity2Activity.class));
    }

}

public class MainActivity2ActivityFragment extends Fragment {

    public MainActivity2ActivityFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_main_activity2, container, false);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        startActivityForResult(new Intent(getActivity(), MainActivity22Activity.class), Activity.RESULT_OK);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

public class MainActivity22ActivityFragment extends Fragment {

    public MainActivity22ActivityFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_main_activity22, container, false);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().setIntent(new Intent());
        getActivity().setResult(Activity.RESULT_OK);
        getActivity().finish();
    }
}

onActivityResult not work on fragment

touche
  • 79
  • 1
  • 3
  • 10
  • possible duplicate of [onActivityResult not being called in Fragment](http://stackoverflow.com/questions/6147884/onactivityresult-not-being-called-in-fragment) – Okas Jun 29 '15 at 14:44

1 Answers1

0

I have the same problem with my app! My app contains 1 Activity and different Fragments when I call 'Camera Activity' I need capture 'OnActivityResult' event. Then I can solve this using 'OnActivityResult' in my acitvity, in my example my camera activity returns a string and this string is declared as public static String because my fragment can access to this value.

You never can capture 'OnActivityResult' event in fragment, because this event pertain to 'ActivityClass', then you need to capture event in the activity class that calls fragment!!

public class  MainActivity extends Activity {
    public static String ActivityResultValue;

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)   {
        super.onActivityResult(requestCode, resultCode, data);
        switch(requestCode) {
            //Camera Activity
            case (0) : {
                if (resultCode == Activity.RESULT_OK) {
                    ActivityResultValue = data.getStringExtra("photoName");
                }
                break;
            }
            case (1) :{
                //Other OnActivityResults...
                break;
            }
        }
    }
}

Tell me If I helped you and good programming!!