Фрагменты и широковещательные приемники

У меня есть активность с двумя fragments. Я не использую теги , у меня есть два класса, которые расширяют Fragment, в этом фрагменте у меня есть:

    @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.
    }

Теперь проблема то есть я получаю несколько широковещательных приемников, из которых некоторые получатели обновляют пользовательский интерфейс с первого фрагмента, а некоторые обновляют пользовательский интерфейс со второго.

Один из моих широковещательных приемников, определенных в моей основной деятельности:

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.

Я хочу использовать приведенный выше linearLayout и использую его для раздувания представления в нем.Но получая NPE.

здесь, когда некоторые широковещательные приемники обновляют первый фрагмент, он работает правильно, но когда широковещательный получатель обновляет 2-й фрагмент из активности, я получаю NPE .

Мой вопрос:Как и где я должен обновить фрагмент?Должен ли он быть внутри моей активности?Если да, то в каком методе?Если нет, то где s мне обновить фрагмент?

Пожалуйста, помогите мне!!!

6
задан Shrikant 12 June 2012 в 08:17
поделиться