我有一個activity
與兩個fragments
。我不使用<fragment/>
標籤,我有一個擴展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.
}
現在的問題是,我在[活動的一些廣播接收機從一些接收器更新從UI第一個片段,一些從第二個更新UI。
一個在我的主要胡亞蓉定義我的廣播接收機的是:
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。
這裏,當一些廣播接收機更新第一個分段時,它可以正常工作,但是當廣播接收機更新第二個分段時,我得到了NPE。
我的問題是:如何以及應該在哪裏更新片段?它應該在我的活動內嗎?如果是,那麼在哪種方法?如果沒有,那麼我應該在哪裏更新片段?
請幫幫我!!!
這兩個片段的佈局(R.layout.bfragment)是一樣的嗎? R.id.bTable是否存在於這兩個片段中? –
如果你問兩個佈局是否看起來相似,那麼沒有。但是通過替換之前的佈局,兩個佈局都會在相同的容器中膨脹。 – Shrikant
R.id.bTable是你的容器嗎? –