मैं एक एंड्रॉइड एप्लिकेशन बना रहा था जिसमें मैं ListView का उपयोग करता हूं। ListView में CheckedTextView सूची आइटम शामिल हैं। मेरी गतिविधि में शीर्ष पर एक संपादन टेक्स्ट, नीचे एक टेक्स्ट व्यू और नीचे एक बटन शामिल है। TextView और बटन के बीच की जगह ListView द्वारा कब्जा कर लिया गया क्षेत्र है। अब, चूंकि मेरी लिस्ट व्यू में कुछ आइटम हैं, इसलिए सूची दृश्य की पूरी जगह उनके द्वारा कब्जा नहीं किया गया है। इसके अलावा अंतरिक्ष छोड़ दिया गया स्थान स्पष्ट रूप से डिवाइस भर में बदलता है। मैं क्या जानना चाहता हूं कि यदि सूची दृश्य की पंक्ति ऊंचाई को बदलने का कोई तरीका है, तो सूची दृश्य में आवंटित पूरी जगह शामिल है। और यदि कुछ वस्तुओं को जोड़ने की आवश्यकता होती है तो भी पंक्ति ऊंचाई तदनुसार समायोजित हो सकती है। मैंने नीचे कुछ कोड स्निपेट प्रदान किए हैं ताकि यह समझना आसान हो कि मेरा लेआउट कैसा है।सूची आइटमों की संख्या के आधार पर सूची दृश्य में पंक्ति ऊंचाई को गतिशील रूप से बदलें
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#D0D0D0"
tools:context=".MainActivity" >
<Button
android:id="@+id/addcourse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Add Course" />
<EditText
android:id="@+id/coursenameet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:ems="10"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp"
android:hint="Course Name"
android:inputType="textCapWords" >
<requestFocus />
</EditText>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_below="@+id/coursenameet"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray" >
</View>
<TextView
android:id="@+id/weekdaytv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/divider"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp"
android:layout_centerHorizontal="true"
android:text="Select weekdays for this Course" >
</TextView>
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/addcourse"
android:layout_below="@+id/weekdaytv"
android:divider="#FFFFFF"
android:dividerHeight="2px">
</ListView>
</RelativeLayout>
आइटम CheckedTextViews कि BaseAdapter का उपयोग करके लागू कर रहे हैं। , अपने ListView
सेट करने के लिए पूरी जगह आवंटित भरने के लिए मुख्य गतिविधि
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
adapter = new ItemsAdapter(MainActivity.this, weekdays, 6, lv.getBottom() - lv.getTop());
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
CheckedTextView ctv = (CheckedTextView) arg1;
adapter.toggle(ctv);
}
});
कोई सही समाधान मिला? –