我有两个listview。我需要滚动一个列表视图作为另一个列表视图的延续。在列表之间应该有一个文本视图。如果我在scrollview中使用两个listview和textview,则无法滚动列表。如果我使用没有scrollview的listview,我可以看到两个listview,但滚动不会继续。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FAF0BE" >
<Button
android:id="@+id/btnheader"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#A1CAF1"
android:text="DisoderDetail" />
<TextView
android:id="@+id/txtTmtDnam"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btnheader"
android:layout_marginLeft="@dimen/marginLLeft"
android:layout_marginTop="@dimen/marginTopp"
android:text="jgjggjh"
android:textColor="#000000" />
<TextView
android:id="@+id/txtdisDdtail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txtTmtDnam"
android:layout_marginLeft="@dimen/marginLLeft"
android:layout_marginTop="@dimen/marginTopp"
android:text="jgjggjh hjhhhjh jhjhh"
android:textColor="#000000" />
<RelativeLayout
android:id="@+id/Rvlytt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/lyt2"
android:layout_below="@id/txtdisDdtail"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/marginBottomm"
android:layout_marginTop="@dimen/marginTop"
android:orientation="horizontal" >
<ImageView
android:id="@+id/starimg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:onClick="star1Clicked"
android:src="@drawable/starunselected"
android:tag="1" />
<ImageView
android:id="@+id/starimg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/starimg1"
android:onClick="star2Clicked"
android:src="@drawable/starunselected"
android:tag="2" />
<ImageView
android:id="@+id/starimg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/starimg2"
android:onClick="star3Clicked"
android:src="@drawable/starunselected"
android:tag="3" />
<ImageView
android:id="@+id/starimg4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/starimg3"
android:onClick="star4Clicked"
android:src="@drawable/starunselected"
android:tag="4" />
</RelativeLayout>
<ScrollView
android:id="@+id/Scrlvw"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@id/Rvlytt2" >
<RelativeLayout
android:id="@+id/rvl1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txtDcmt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="@dimen/marginTop"
android:text="comment"
android:textColor="#000000" />
<ListView
android:id="@+id/lstvwDis11"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txtDcmt" >
</ListView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rvl2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/rvl1"
>
<TextView
android:id="@+id/txtDrate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/lstvwDis11"
android:layout_marginTop="@dimen/marginTop"
android:text="Rate"
android:textColor="#000000" />
<ListView
android:id="@+id/lstvwDis12"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txtDrate" >
</ListView>
</RelativeLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/Rvlt22"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<EditText
android:id="@+id/Edtcmmt"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:background="#ffffff"
android:hint="Add a comment"
android:textColor="#000000" />
<Button
android:id="@+id/btnpost"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/Edtcmmt"
android:onClick="OnPostbtnclick"
android:text="Post" />
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:2)
对于初学者来说,这不是正确的设计,但是如果你想坚持使用设计,那么一个快速修复工具就是将你的两个listView放在一个列表视图中并将其放在滚动视图下。这应该可以解决您的滚动问题。
答案 1 :(得分:0)
将ListView
放在ScrollView
内时,我使用以下方法设置listView高度,滚动工作正常。将所有视图添加到列表视图后使用此选项。
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom();
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
if (listItem instanceof ViewGroup) {
listItem.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
}