2012-03-02 8 views
8

sto provando ad aggiungere tabhost all'interno di un frammento ma non importa cosa provo, non sono in grado di inserirlo. Potrei mancare alcuni fondamenti qui. Ecco il codice della mia classe TabFragment. Che restituisce una vistacome aggiungere tabhost nei frammenti

public class TabFragment extends Fragment{ 

    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
    } 
    private TabHost mTabHost; 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) 
    { 
      View view = inflater.inflate(R.layout.tabmain, container, false); 
      mTabHost = (TabHost) view.findViewById(android.R.id.tabhost); 
      mTabHost.setup();//very important to call this 
      TabHost.TabSpec tab = mTabHost.newTabSpec("my tab content"); 
      tab.setIndicator("my tab content"); 
      mTabHost.addTab(tab); 
     return view; 
    } 
} 
+1

http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/ questo collegamento potrebbe essere utile – Triode

+0

no itnt. stanno usando i frammenti per creare le schede e questo non è il mio requirememnt più uno dei miei frammenti deve essere statico. ho solo bisogno di inserire il tabhost in qualche modo – sohil

+0

@sohil hai risolto .. sono bloccato nello stesso..cancherai help..check qui http://stackoverflow.com/questions/28106944/how-to-add-tabhost- con-navigazione-cassetto? noredirect = 1 # comment44592501_28106944? –

risposta

18

Con livello di API 17, questo è ora possibile:

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentTabHost; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

// This class is the 3rd fragment in my ViewPager, 
// to which I wanted to add 2 tabs.... 
public class TabHostParentFragment extends Fragment { 
private FragmentTabHost mTabHost; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
mTabHost = new FragmentTabHost(getActivity()); 
mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.my_parent_fragment); 

Bundle arg1 = new Bundle(); 
arg1.putInt("Arg for Frag1", 1); 
mTabHost.addTab(mTabHost.newTabSpec("Tab1").setIndicator("Frag Tab1"), 
    MyNestedFragment1.class, arg1); 

Bundle arg2 = new Bundle(); 
arg2.putInt("Arg for Frag2", 2); 
mTabHost.addTab(mTabHost.newTabSpec("Tab2").setIndicator("Frag Tab2"), 
    MyNestedFragment2.class, arg2); 

return mTabHost; 
} 

@Override 
public void onDestroyView() { 
super.onDestroyView(); 
mTabHost = null; 
} 
} 

assicuratevi di aggiornare il file-support-v4.jar Android, in quanto non ha ancora aggiornamento automatico per me quando ho scaricato attraverso il Responsabile SDK. Ciò impedisce la definizione della funzione getChildFragmentManger().

+1

Grazie a un gruppo amico! –

+0

Questo funziona anche per me utilizzando l'ultima libreria di android-support-v4. – kdroider

+0

grazie mille – samira

Problemi correlati