Ho un activity
con due fragments
. Non sto usando <fragment/>
tag, ho due classi che si estende Fragment
, in quel frammento, ho:Fragments and Broadcast Receivers
@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.
}
Ora il problema è, sto ricevendo alcune riceventi per la radiodiffusione in attività da cui alcuni ricevitori aggiornare l'interfaccia utente da primo frammento e alcuni aggiornamenti l'interfaccia utente dal 2 °.
Un mio ricevitore trasmissione definita nel mio acitivity principale è:
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.
voglio usare il LinearLayout sopra e utilizzarlo per gonfiare una vista in esso. Ma ottenere NPE.
Qui, quando alcuni ricevitori broadcast aggiornano il primo frammento, funziona correttamente, ma quando un ricevitore broadcast aggiorna il 2 ° frammento dall'attività, ottengo NPE.
La mia domanda è: Come e dove devo aggiornare il frammento? Dovrebbe essere nella mia attività? se sì allora in quale metodo? se no, dove devo aggiornare il frammento?
Per favore aiutatemi !!!
Il layout (R.layout.bfragment) è lo stesso per i due frammenti? R.id.bTable è presente in entrambi i frammenti o no? –
se stai chiedendo se entrambi i layout sembrano simili allora no. Ma entrambi i layout vengono gonfiati nello stesso contenitore sostituendo il layout precedente. – Shrikant
R.id.bTable è il tuo contenitore giusto? –