2013-04-24 10 views
5

पर एंड्रॉइड ओपन फ्रैगमेंट मैं एंड्रॉइड प्रोग्रामिंग के लिए नया हूं और मैं एक ऐप बनाने की कोशिश कर रहा हूं जो एक मुख्य खंडशीलता से व्यूअर में टैब का उपयोग करता है। व्यूअर और टैब ठीक काम करते हैं लेकिन मैं एक विकल्प मेनू चाहता हूं कि जब कोई आइटम चुना जाता है, तो एक पूरी तरह से नया खंड खुलता है, लेकिन मुझे दृश्य पेजर को हटाने में सक्षम नहीं लगता है। मैं सिर्फ मुख्य स्क्रीन पर व्यूपर पर नया टुकड़ा लगाने में सक्षम होना चाहता हूं लेकिन एक टुकड़े टुकड़े के साथ ऐसा करने की कोशिश कर रहा हैViewPager

कोई विचार?

अपना समय

उत्तर

2

ठीक है, आप जोड़ दिया जाएगा करने के लिए धन्यवाद Fragment कुछ FrameLayoutFrameLayout मुझे लगता है की आईडी का उपयोग कर सकते हैं। बस सुनिश्चित करें कि FrameLayout आप को ViewPager के शीर्ष पर जोड़ रहे हैं।

उदाहरण के लिए यदि दोनों ViewPager और FrameLayout एक RelativeLayout कंटेनर में हैं तो सुनिश्चित करें कि FrameLayoutXML में ViewPager नीचे घोषित किया गया है। यह ViewPager के शीर्ष पर FragmeLayout ढेर करेगा। जब FragmentFrameLayout में जोड़ा गया है तो इसे शीर्ष पर खींचा जाएगा।

2

सुनिश्चित करें कि:

1) अपने टुकड़ा (जैसे:

<FrameLayout 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:id="@+id/container" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

     <LinearLayout.... and so on 
</FrameLayout> 

: ViewPagerFragment1) है, जो viewpager का चयन किया जाएगा, आईडी "कंटेनर" जैसे के साथ रूट लेआउट के रूप में एक FrameLayout है 2) ViewPagerFragment1 कक्षा के अंदर, आपको एक क्रिया को ट्रिगर करने के बाद फ्रेमलेआउट में नया खंड बदलना/जोड़ना होगा। उदा .:

@Override 
public void onClick(View view) { 
    switch (view.getId()) { 
     case R.id.selection: 
      // Create new fragment and transaction 
      NewFragment newFragment = new NewFragment(); 
      FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

      transaction.replace(R.id.container, newFragment, "NewFragment"); 
      transaction.addToBackStack(null); 

      transaction.commit(); 
      break; 
     default: 
      break; 
    } 
}