ScrollView中怎么再加ListView
时间: 2023-12-03 19:58:48 浏览: 44
在ScrollView中加入ListView会导致ListView无法滑动,因为ScrollView会拦截ListView的滑动事件。可以考虑不使用ScrollView,直接使用ListView,并将需要放入ScrollView中的内容作为HeaderView或FooterView添加到ListView中。如果非要使用ScrollView,可以将ListView的高度设置为固定值,让ScrollView不拦截ListView的滑动事件。具体实现方式如下:
1. 在布局文件中,先定义一个ScrollView,然后在ScrollView中再定义一个ListView,并将ListView的高度设置为固定值,例如:
```xml
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 这里定义一个ListView,并将其高度设置为固定值 -->
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="500dp" />
</ScrollView>
```
2. 在代码中,先获取ListView的高度,然后将其设置为固定值,如下:
```java
ListView listView = findViewById(R.id.list_view);
int listViewHeight = listView.getLayoutParams().height;
listView.getLayoutParams().height = 500;
listView.requestLayout();
```
这样就可以在ScrollView中加入ListView了。但是需要注意的是,这种做法可能会导致ListView的部分内容无法显示出来,因为ListView的高度被设置为了固定值。如果ListView的高度不够,可以在ScrollView中再添加一个布局容器,将其作为ListView的FooterView,这样就可以显示完整的ListView内容了。