FirstActivity.Java
a un FragmentA.Java
qui appelle startActivityForResult()
. SecondActivity.Java
appelez finish()
mais onActivityResult
ne sont jamais appelés, ce qui est écrit dans FragmentA.Java
.
FragmentA.Java
code :
@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
code :
@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();
}
J'ai essayé de déboguer le code, mais onAcitvityResult()
ne sont jamais appelés.
1 votes
Essayez de la placer (méthode onActivityResult) dans la classe FirstActivity.
2 votes
Duplicata possible de onActivityResult n'est pas appelé dans le fragment