2011-06-19 19 views
28

के नीचे फिक्स्ड बटन मेरे पास आइटम के साथ स्क्रोल करने योग्य सूची दृश्य है (जैसे http://developer.android.com/resources/tutorials/views/hello-listview.html)। मैं वस्तुओं के लिए ArrayAdapter का उपयोग कर रहा हूं और इसे setListAdapter में पैरामीटर के रूप में उपयोग कर रहा हूं। अब मैं स्क्रीन के नीचे एक बटन जोड़ना चाहता हूं, जो सूची के साथ स्क्रॉल नहीं करता है। क्या कोई मुझे कुछ संकेत दे सकता है या एक कोड स्निपेट पोस्ट कर सकता है कि यह संभवतः कैसे किया जा सकता है?एक स्क्रॉल करने योग्य सूची दृश्य

उत्तर

96

हैं तो आप कुछ इस तरह की जरूरत है:

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

    <ListView android:id="@android:id/list" 
       android:layout_height="0dip" 
       android:layout_width="match_parent" 
       android:layout_weight="1" /> 

    <Button android:id="@+id/btn" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 

</LinearLayout> 

ध्यान दें कि सूचीदृश्य में लेआउट_वेट सेट 1 है। यह बटन को नीचे अपनी जगह पर रखेगा। उम्मीद है की वो मदद करदे। सौभाग्य!

+1

कोड के लिए धन्यवाद ... – user4232

+1

यदि आप 'वज़न' का उपयोग कर रहे हैं और 'अभिविन्यास' 'लंबवत 'है, तो आपके पास यह होना चाहिए:' android: layout_height = "0dp" ' – Houcine

+1

Houcine, आप सही हैं। हाल के अपडेटों में से एक में, Google ने एडीटी को बदल दिया ताकि 'fill_parent' का उपयोग करते समय यह चेतावनी फेंकता हो। जून 2011 में मैंने प्रश्न का उत्तर देने के बाद से बहुत कुछ बदल दिया है। मैंने अपना जवाब बदल दिया और इसे चालू कर दिया। –

14

आप एक RelativeLayout का उपयोग अपने लेआउट के नीचे वाला बटन को ठीक है, और इस तरह यह ऊपर अपने ListView जोड़ने के लिए कर सकते हैं: अपनी गतिविधि ListActivity फैली

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

     <Button android:id="@+id/btn" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true"/> 

    <ListView 
      android:id="@android:id/list" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
       android:layout_above="@id/btn" /> 
</RelativeLayout> 
+0

मैं 'ListActivity' द्वारा वर्ग का विस्तार और' का उपयोग कर getListView() द्वारा ListView उत्पन्न 'इसे पाने के लिए। लेकिन अगर अब मैं लेआउट का उपयोग करता हूं और इसे सेट करने के लिए 'setContentView' का उपयोग करता हूं, तो एप्लिकेशन निम्न अपवाद फेंकता है:' आपकी सामग्री में एक सूची दृश्य होना चाहिए जिसका आईडी विशेषता 'android.R.id.list'' –

+0

मुझे लगता है कि आपको कस्टम होना चाहिए जब आप इसे प्राप्त करते हैं तो आपकी सूची देखें !! क्या आप अपना कोड और लॉगकैट भी जोड़ सकते हैं? – Houcine

+1

अपनी सूची एंड्रॉइड का नाम दें: id = "@ android: id/list" अगर आप getListView() – mkso

1

के आधार पर मेरे समाधान Houcline के solution लेकिन ListView हमेशा Button ऊपर

<CheckBox 
    android:id="@+id/chbRemoveIfUninstall" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true"/> 
<ListView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_above="@id/chbRemoveIfUninstall"/> 

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