2012-03-02 21 views
8

मैं एक टुकड़े के अंदर टैबहोस्ट जोड़ने की कोशिश कर रहा हूं लेकिन इससे कोई फर्क नहीं पड़ता कि मैं कोशिश करता हूं कि मैं इसे सम्मिलित नहीं कर पा रहा हूं। मुझे यहां कुछ बुनियादी सिद्धांतों की याद आ रही है। मेरे वर्ग टैबफ्रैगमेंट का कोड यहां। जो एक दृश्य देता है।टुकड़ों में टैबहोस्ट जोड़ने के लिए

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/ यह लिंक उपयोगी हो सकता है – Triode

+0

नहीं यह नहीं करता है। वे टैब बनाने के लिए टुकड़ों का उपयोग कर रहे हैं और यह मेरी आवश्यकता नहीं है और मेरे टुकड़े में से एक को स्थिर होना है। मुझे किसी भी तरह से टैबहोस्ट डालने की ज़रूरत है – sohil

+0

@ सोहिल आपको हल हो गया..मैं उसी में फंस गया..क्या आप मदद कर सकते हैं..यहाँ जांचें http://stackoverflow.com/questions/28106944/how-to-add-tabhost- साथ-नेविगेशन-दराज? noredirect = 1 # comment44592501_28106944? –

उत्तर

18

एपीआई स्तर 17 के साथ, यह अब संभव है: जब मैं के माध्यम से डाउनलोड

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

आप अपने Android-support-v4.jar फ़ाइल का अद्यतन सुनिश्चित करें, के रूप में यह मेरे लिए ऑटो अपडेट फ्लॉप एसडीके प्रबंधक यह परिभाषित होने से getChildFragmentManger() फ़ंक्शन को रोकता है।

+1

धन्यवाद एक गुच्छा भाई! –

+0

यह नवीनतम एंड्रॉइड-सपोर्ट-वी 4 लाइब्रेरी का उपयोग करके मेरे लिए भी काम करता है। – kdroider

+0

आपको बहुत धन्यवाद – samira

संबंधित मुद्दे