Hola. Estoy desarrollando sobre la típica aplicación lista - detalle (con dos fragmentos).
El problema es que en el fragmento detalle no se esta ejecutando el método onActivityResult. Estoy usando la aplicación de la cámara para capturar la imagen con startActivityForResult.
En ClienteListaFragment.java : //Si no muestro los dos fragmentos llamo a la
actividad ClienteFormularioActivity
if ( ! mostrarDosFragmentos ) {
Intent i = new Intent(getActivity().getApplicationContext(), ClienteFormularioActivity.class);
i.putExtra("index", position);
i.putExtra(PrincipalActivity.C_MODO, modo);
i.putExtra(PrincipalActivity.C_SHOW_TWO_FRAGMENTS, mShowTwoFragments);
i.putExtra(CuCustomermasterDBData.C_COLUMNA_ID, id);
startActivity(i );
}
En ClienteFormularioActivity.java :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cliente_formulario);
Bundle extras = getIntent().getExtras();
this.modo = extras.getInt(PrincipalActivity.C_MODO);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
finish();
return;
}
if (savedInstanceState == null) {
// Adiciono el fragmento
ClienteFormularioFragment detailss = ClienteFormularioFragment.newInstance(
extras.getInt(CuCustomermasterDBData.C_COLUMNA_ID),
extras.getInt("index"),
extras.getInt(PrincipalActivity.C_MODO),
extras.getBoolean( PrincipalActivity.C_SHOW_TWO_FRAGMENTS) );
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.frgDetail, detailss);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
}
En ClienteFormularioFragment.java: private void camara() {
Intent intentCapture = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intentCapture, fotografia);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// NUNCA LLEGA A ESTE METODO !!!
}