2015-10-16 3 views
0

HomeActivity public class étend FragmentActivity {erreur de référence d'objet nul dans le fragment android

// 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); 
} 

}

Affiche référence d'objet nul sur

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

est tabhost existe dans 'activity_home .xml'? –

+0

tabhost pas exister dans activity_home.xml son accédé à partir de android os (par défaut), son appel par (android.R.id.tabhost) –

+0

regardez [this] (https://maxalley.wordpress.com/2013/05/ 18/android-creation-a-tab-layout-avec-fragmenttabhost-et-fragments /). vous devez créer 'FragmentTabHost' à l'intérieur de xml –

Répondre

0

créer comme cette

@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); affiche l'erreur –

+0

remplacer 'container' par' realtabcontent' si 'container' n'est pas résolu. ou publiez votre 'activity_home.xml' pour que je puisse vous guider –

+0

fichier xml trop long –