2013-06-05 14 views
25

[अद्यतन]नेविगेशन ड्रॉवर लेआउट में शीर्षक कैसे जोड़ें?

मैं addHeaderView जोड़कर समस्या का समाधान:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mTitle = mDrawerTitle = getTitle(); 
    mPlanetTitles = getResources().getStringArray(R.array.planets_array); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.left_drawer); 

    LayoutInflater inflater = getLayoutInflater(); 
    ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.header_listview_menu, mDrawerList, false); 
    mDrawerList.addHeaderView(mTop, null, false); 

========================== ======

मेरा प्रश्न इतना आसान है!

मैं नेविगेशन ड्रॉवर में शीर्षक कैसे जोड़ना चाहता हूं?

मैंने प्रत्येक आइटम के लिए सूचीदृश्य (आइकन + टेक्स्ट) के साथ पहले से ही अपना नेविगेशन ड्रॉवर बनाया है।

धन्यवाद एक बहुत,

enter image description here

+0

क्या आपको कई शीर्षक जोड़ने के बारे में कोई जानकारी है? –

+0

क्या आपके पास एक पूर्ण कोड नमूना है? – karlstackoverflow

+0

ग्रेट समाधान !!! धन्यवाद। –

उत्तर

5

रखो एक TextView एक ListView ऊपर, और एक ऊर्ध्वाधर LinearLayout अंदर लपेट। अपने ListView android:layout_weight="1" और android:layout_height="0dip"

+0

यदि हेडर शीर्ष पर तय किया जाना है तो यह काम करेगा। स्क्रीनशॉट हेडर को 'ListView' के हिस्से के रूप में दिखाता है (देखें "शीर्षक 2" पंक्ति)। आपका समाधान हो सकता है कि ओपी क्या मांग रहा हो। – CommonsWare

+0

हां मैंने उसे गलत समझा। केवल अब मुझे एहसास हुआ कि वह – Blackbelt

+0

धन्यवाद चाहता है, मैंने पोस्ट संपादित किया है। समस्या हल हो गई है – wawanopoulos

11

आप क्या करना होगा करने के लिए दें कि एक ही तरीका है कि आप किसी अन्य ListView में शीर्षकों जोड़ना होगा के रूप में, अपने ListAdapter शिक्षण शीर्षक पंक्तियों के साथ-साथ विस्तार पंक्तियों को वापस करने के लिए से। निम्न स्तर पर, इसमें getViewTypeCount() और getItemViewType() जैसे ListAdapter में ओवरराइडिंग विधियां शामिल हैं, साथ ही getView() पंक्ति प्रकारों के बीच अंतर को जानती है। या, की खोज करते समय https://github.com/emilsjolander/StickyListHeaders या http://code.google.com/p/android-amazing-listview/ या अन्य किसी भी अन्य उच्च स्तर के कार्यान्वयन का उपयोग करें।

+0

धन्यवाद, मैंने पोस्ट संपादित किया है। समस्या हल हो गई – wawanopoulos

+0

संबंधित पोस्ट - http://stackoverflow.com/questions/13590627/android-listview-headers –

0

शायद यह थोड़ा देर हो चुकी है लेकिन मुझे लगता है कि मेरे पास एक आसान समाधान है। अपनी गतिविधि के लेआउट में, सूची जोड़ने के बजाय ड्रॉवरलेआउट के अंदर देखें, उदाहरण के लिए आप एक लीनियरलाउट जोड़ सकते हैं, और आप आसानी से विभाजक और पंक्तियां जोड़ सकते हैं। उदाहरण के लिए:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <com.astuetz.viewpager.extensions.PagerSlidingTabStrip 
      android:id="@+id/indicator" 
      android:layout_height="48dip" 
      android:layout_width="fill_parent"/> 

     <ViewPager 
      android:id="@+id/pager" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 

    </LinearLayout> 

</RelativeLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:id="@+id/left_drawer" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="#111"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Separator 1"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="First button"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Separator 2"/> 

</LinearLayout> 

और गतिविधि में, आप बटन को श्रोताओं जोड़ सकते हैं।

आशा है कि मदद करता है!

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