Fragmentos y receptores de emisión

Tengo una activity con dos fragments . No estoy usando etiquetas <fragment/> , tengo dos clases que se extienden Fragment , en ese fragmento, tengo:

  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.bfragment, container, false); // this will inflate the Fragment in activity. } 

Ahora el problema es, estoy recibiendo algunos receptores de difusión en la actividad de la cual algunos receptores actualizar la interfaz de usuario del primer fragmento y algunas actualizaciones de la interfaz de usuario de 2 º.

Uno de mi receptor de difusión definido en mi actividad principal es:

 private BroadcastReceiver bcReceived = new BroadcastReceiver() { @Override public void onReceive(Context arg0, Intent intent) { Log.d("", "BC Object Received"); ActionBar actionbar = getActionBar(); actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab bTab = actionbar.newTab().setText("B"); Fragment fragment = new BFragment(); bTab.setTabListener(new MyTabsListener(fragment)); actionbar.addTab(bTab, true); final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.bTable); // Getting null pointer exception here. linearLayout is not getting initialized. 

Quiero utilizar el linearLayout anterior y utilizarlo para inflar una vista en él. Pero conseguir NPE.

Aquí, cuando algunos receptores de difusión actualizan el primer fragmento, funciona correctamente, pero cuando un receptor de difusión actualiza el segundo fragmento de la actividad, obtengo NPE.

Mi pregunta es: ¿Cómo y dónde debo actualizar el fragmento? ¿Debería estar dentro de mi actividad? En caso afirmativo, ¿en qué método? Si no, entonces ¿dónde debo actualizar el fragmento?

¡¡¡Por favor, ayúdame!!!

One Solution collect form web for “Fragmentos y receptores de emisión”

Su lógica de actividad debe separarse de su lógica de fragmentos.

Su actividad debe manejar la lógica como:

Necesito mostrar este fragmento en lugar de ese

Pero su actividad no debe manejar este tipo de lógica:

Necesito actualizar lo que hay dentro del fragmento

Es responsabilidad del fragmento actualizar su contenido. Por otro lado, la actividad puede indicar al fragmento que necesita actualizarse.

Con esto en mente, sus fragmentos deben exponer métodos como

 updateContent(With Blabla) 

O

 updateContent() 

En su actividad, cuando el BroadcastReceiver recibe algo, debe:

  • Compruebe el fragmento que se muestra actualmente
  • Preparar el contenido para actualizar en el fragmento
  • Pida al fragmento que se actualice con el updateContent(With Blabla) .

O

  • Compruebe el fragmento que se muestra actualmente
  • Pida al fragmento que se actualice con el método updateContent() .

Elija el método más simple de acuerdo con la lógica empresarial de su aplicación.

  • Mi BroadcastReceiver no está recibiendo la intención BOOT_COMPLETED después de mis botas N1
  • Receptores de difusión en Delphi XE5 Android
  • BroadcastReceiver - onReceive Not Being Called
  • Utilizar un receptor de broadcast / broadcast para enviar mensajes de un servicio a una actividad
  • Comunicación entre BroadcastReceiver y Activity - android
  • Cómo iniciar la aplicación en el botón de encendido presione
  • AlarmManager: cómo programar una alarma diaria y hacer frente a cambios de tiempo
  • Pasando intención extra a receptor de radiodifusión android
  • Facebook "Messenger" tiene un SMS Broadcast Receiver que tiene la máxima prioridad después de reiniciar
  • ¿Debo usar android: process = ": remote" en mi receptor?
  • Receptor de difusión Dual Sim
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.