/ / Listview और स्क्रॉलव्यू के बारे में - android, android-listview

सूचीदृश्य और स्क्रॉलव्यू के बारे में - एंड्रॉइड, एंड्रॉइड-सूचीदृश्य

यह एक पुराना और पुराना सवाल है।किसी रेखांकन के बगल में स्क्रॉलव्यू के अंदर लिस्टव्यू लोकेट करता है। शायद टो समाधान हैं: 1. इसका उपयोग करके त्याग दें। 2. सूची की ऊँचाई की पुष्टि करें या ऊँचाई को गतिशील बनाएं। जब मैं इस तरह से कोड करूँ, तो मुझे पता चलता है कि हमेशा सूचीव्यू के निचले भाग पर ध्यान केंद्रित किया जाता है। और request.setFocus () donen "t work ....

इसका सामना कैसे करें??

उत्तर:

जवाब के लिए 2 № 1

आपको सूची दृश्य को ए के अंदर नहीं रखना चाहिएScrollview। यदि आप सूची के ऊपर या नीचे कुछ दिखाना चाहते हैं और उन्हें सूची में एक साथ स्क्रॉल करना चाहते हैं, तो आपको सिर्फ हेडर या पाद दृश्य का उपयोग करने की आवश्यकता है। एक उदाहरण:

मुख्य स्क्रीन सामग्री:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

पाद दृश्य (list_footer.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"><!-- the footer content -->
</LinearLayout>

कोड में पाद जोड़ना: सूची के लिए एडेप्टर सेट करने से पहले आपको इसे करना चाहिए

 ListView listView = (ListView) view.findViewById(R.id.main_list);
View footer = LayoutInflater.from(getActivity()).inflate(R.layout.list_footer, listView, false);
listView.addFooterView(footer);

listView.setAdapter(yourAdapter);

जवाब के लिए 0 № 2

एक स्क्रॉल दृश्य केवल एक बच्चे को पकड़ सकता है। अगर वह रैखिक वास्तव में आवश्यक है (आमतौर पर यह सिर्फ एक धारक है), तो आपको यह करना चाहिए:

<ScrollView>
<LinearLayout>
<ListView>
<!-- Blahblah -->
</ListView>
<LinearLayout>
<!-- Blahblah -->
</LinearLayout>
</LinearLayout>
</ScrollView>