Android: onActivityResult en fragmento no llamado

Encontramos numerosos puestos en relación con mi problema, pero ninguno de ellos funcionó para mí. Tengo un fragmento de donde tengo que llamar a startActivityForResult() en un tecleo del textview. A partir de ahí, se abrirá una actividad donde el usuario llenará algunos datos y los enviará a la base de datos. A partir de ahí, tengo que pasar una intención que contiene el código de resultado. Pero el onActivityResult () en el fragmento no es llamado.

Código de mi fragmento

 Intent in = new Intent(getActivity(), NetBarrelActivity.class); in.putExtra(AppUtility.ORDER_ID, orderDAO.getOrderNum()); in.putExtra(AppUtility.TICKET_ID, 2); startActivityForResult(in, AppUtility.REQUEST_CODE); 

Código de mi actividad

 Double NetBarrels = crudeNetCalculator(GrossBarrels, ProductObsTemp, ProductObsGravity, ProductBSW); db.updateTank(OrderID, TicketTypeID, CarrierTicketNum, TankNum, TankTypeID, ProductObsTemp, ProductObsGravity, ProductBSW, GrossBarrels, NetBarrels); Intent in = new Intent(); setResult(RESULT_OK, in); finish(); 

OnActivityResult in Fragment:

  @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityReslt called"); super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case AppUtility.REQUEST_CODE: if(resultCode == Activity.RESULT_OK){ if (mOrdersDAO.getTicketType().equals(AppUtility.NET_BARREL)) { ArrayList<OrderTicketsDao> mOrderTicketsDaos = dbHandler .getOrderTicket(mOrdersDAO.getOrderNum()); if (mOrderTicketsDaos != null && mOrderTicketsDaos.size() > 0) { TankAdapter mTankAdapter = new TankAdapter(getActivity(), mOrderTicketsDaos); listTank.setAdapter(mTankAdapter); mTankAdapter.notifyDataSetChanged(); } } } break; default: break; } } 

Entonces, ¿cómo puedo enviar la intención de nuevo a mi fragmento con código de resultado?

Desde entonces, quería que mi fragmento para interceptar la intención por lo que utiliza LocalBroadcastManager .

En el onCreate de Fragmento, onCreate :

 LocalBroadcastManager.getInstance(getActivity()).registerReceiver( mUpdateUIReceiver, new IntentFilter(String action)); 

Mi receptor en fragmento:

 private BroadcastReceiver mUpdateUIReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //do Stuff } }; 

Código de actividad que enviará la emisión:

 LocalBroadcastManager.getInstance(this).sendBroadcast( new Intent(String action)); 

Espero que ayude a alguien que está enfrentando el mismo problema.

  • Android FragmentStatePagerAdapter devuelve pantalla en blanco al recargar fragmentos de medio
  • Uso del contexto en un fragmento
  • Fragmento ya activo - Al intentar establecerArgumentos
  • Razón para comprobar el estado de salvado en frgamentActividad oncreate ()
  • ¿En qué situación queremos agregar fragmento sin contenedor?
  • Problemas con Android Fragment pila trasera
  • Android: cuando / por qué debo usar FrameLayout en lugar de Fragment?
  • Fragmento sobre otro fragmento
  • Establecer currentItem de un viewPager de un fragmento
  • API de Google Maps v2 en el cuadro de diálogo
  • Youtube Player Control de pantalla completa no funciona en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.