2013-08-21 12 views
9

के साथ सूची दृश्य List से ऊपर ListView में डालने का कोई तरीका है? उदाहरण के लिए, मुझे एक शीर्षक बार (टेक्स्ट व्यू) चाहिए जो List के शीर्ष पर बैठता है, और सूची स्क्रॉल के रूप में दृश्य से बाहर स्क्रॉल करता है। मैं ऐसा करने के दो तरीकों से सोच सकता हूं, लेकिन दोनों हैंक्स हैं।शीर्षक


आइडिया # 1 - एक लिनियरलाइट का उपयोग करें जो सूची दृश्य होने का नाटक करता है। लेकिन समस्या यह है कि आप एडाप्टर द्वारा प्रदान किए जाने वाले विचारों के "स्मार्ट" लोडिंग/अनलोडिंग का लाभ उठाने में असमर्थ हैं।

<ScrollView> 
    <LinearLayout> 

     <TextView/> 
     <LinearLayout 
      android:orientation="vertical" /> # add ListItems here 

    </LinearLayout> 
</ScrollView> 


आइडिया # 2 - इस के समान एक getView विधि के साथ एक hacky ArrayAdapter का उपयोग करें:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    if(position == 0) 
     View view = inflater.inflate(R.layout.special_list_item, null); 
    else 
     View view = inflater.inflate(R.layout.regular_list_item, null); 

    ... 

    return vi; 
} 

उत्तर

33

सरल। शीर्ष लेख सेट करने से पहले `, बस` कॉल करने के लिए setAdapter (शून्य) सुनिश्चित करें कि आपके ListView

TextView textView = new TextView(context); 
textView.setText("Hello. I'm a header view"); 

listView.addHeaderView(textView); 
+5

कोई ऐसा शीर्ष दृश्य जोड़ने। या, हेडर सेट करने के बाद ही एडाप्टर जोड़ें। – sriramramani

+0

वाह, मुझे नहीं पता था कि अस्तित्व में था! – Matt

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