ListView嵌套
来源:互联网 发布:linux java 打包 编辑:程序博客网 时间:2024/05/16 04:33
11月19号遇到的问题:ListView嵌套使用时出现的问题
1.首先我想使用ListView嵌套ListView来实现一个功能,但是发现不能这么做,因为ListView的item是等高的,而内层listview的数据是未知的。所以改用ScrollView嵌套listview。
2.当使用ScrollView嵌套ListView时出现ListView数据只显示一行的问题。这个时候去baidu发现说是因为ScrollView不能检测出ListView的高度的原因,需要手动去测量ListView的高度。在代码中添加下面这个方法,同时在listview.setAdapter(adapter);之后调用此方法即可。
public void setListViewHeightBasedOnChildren(ListView listView) { //获取listview对应的adapter MyAdapter adapter = (MyAdapter) listView.getAdapter(); if (adapter == null) { return; } int totalHeight = 0; for (int i = 0, len = adapter.getCount(); i < len; i++) { //len数据项的数目 View listItem = adapter.getView(i, null, listView); listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); } }
3.根据网上说的,这样即可解决数据显示问题。但是我这样写了之后,数据显示是没问题了。但是ListView的滑动又出现了问题。这个时候需要在ListView中加一个属性
android:nestedScrollingEnabled="false"<!--禁止listview的滑动-->
但是我加过之后还是不好使,最后发现需要写一个NoScrollListView extends ListView,将此NoScrollListView替代原来的ListView写在Xml中
public class NoScrollListView extends ListView { public NoScrollListView(Context context, AttributeSet attrs) { super(context, attrs); } /** * 设置不滚动 */ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
至此问题终于解决。
阅读全文
0 0
- listview嵌套
- 嵌套listview
- ListView嵌套
- ListView中嵌套ListView
- listview嵌套listview
- ListView嵌套ListView优化
- ListView中嵌套listView
- ListView中嵌套ListView
- 关于listview嵌套listview
- ListView嵌套ListView
- ListView中嵌套ListView
- Listview嵌套Listview
- ListView嵌套listView问题
- ListView嵌套ListView
- Listview嵌套Listview
- ListView中嵌套ListView
- listview嵌套listview问题
- 解决listview 嵌套listview
- opencv ldd not found opencv***lib
- [BZOJ]4503 两个串:我的第一次FFT尝试
- 萌新cache2go源码解读
- [bzoj1009][kmp][DP][矩阵乘法]GT考试
- HDU 1181 变形课 (DFS)
- ListView嵌套
- centos7 yum安装Nginx
- python入门----浅谈数据类型
- CCF 学生排队
- 团队天梯赛L1-034. 点赞
- 北京G,计算几何,线段相交
- 通达OA智能开发平台CRM系统二级下拉菜单联动的实现方法
- js内置函数
- 移动Web开发基础-flexible布局方案