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를 2 번째에서 업데이트합니다. 내 주요 acitivity에 정의 된 내 방송 수신기의
하나는 :
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.b 테이블이 귀하의 컨테이너입니까? –