2015-10-16 2 views
0

общественного класса HomeActivity расширяет FragmentActivity {Null ссылка на объект ошибки в андроида фрагменте

// Fragment TabHost as tabobj 
private FragmentTabHost tabobj; 

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //Set the Window to Full Screen 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_home); 


    tabobj = (FragmentTabHost)findViewById(android.R.id.tabhost); 


    tabobj.setup(this,getSupportFragmentManager(),R.id.realtabcontent); 
    // tabobj.setup(HomeActivity.this, getSupportFragmentManager(), R.id.realtabcontent); 

    tabobj.addTab(tabobj.newTabSpec("tab1").setIndicator("ALL"), 
      Tab1Fragment.class, null); 
    tabobj.addTab(tabobj.newTabSpec("tab2").setIndicator("INCOME"), 
      Tab2Fragment.class, null); 
    tabobj.addTab(tabobj.newTabSpec("tab3").setIndicator("EXPENSE"), 
      Tab3Fragment.class, null); 
} 

}

показывает нулевой объект на

tabobj = (FragmentTabHost)findViewById(android.R.id.tabhost); call 
+0

является 'tabhost' существуют в' activity_home .xml'? –

+0

tabhost не существует в activity_home.xml его доступ к файлам android os (по умолчанию), его вызов (android.R.id.tabhost) –

+0

смотрите [это] (https://maxalley.wordpress.com/2013/05/ 18/android-create-a-tab-layout-with-fragmenttabhost-and-fragments /). вам нужно создать 'FragmentTabHost' внутри xml –

ответ

0

создать как этот

@Override 
public View onCreateView(LayoutInflater inflater, 
     ViewGroup container,Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    tabobj= new FragmentTabHost(getActivity()); 
     tabobj.setup(getActivity(), getChildFragmentManager(), R.id.container); 

     tabobj.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), 
       MyProfileFragment.class, null); 
     tabobj.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), 
       Tab1Fragment.class, null); 
     tabobj.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), 
       Tab2Fragment.class, null); 
     tabobj.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"), 
       Tab2Fragment.class, null); 
    return tabobj; 
} 
+0

tabobj.setup (getActivity(), getChildFragmentManager(), R.id.container); показывает ошибку –

+0

заменяет 'container'' realtabcontent', если 'container' не разрешен. или опубликуйте свой 'activity_home.xml', поэтому я могу направить вас –

+0

xml-файл слишком долго –

Смежные вопросы