ListView嵌入ScrollView问题解决大全
来源:互联网 发布:流程的再造与优化 编辑:程序博客网 时间:2024/04/30 17:51
ListView嵌入ScrollView问题解决大全
引言:
经常遇到这两对冤家的嵌套问题,就寻找出了一些解决方案
方案1
重写ListView(很简单的)
public class ListViewForScrollView extends ListView { public ListViewForScrollView(Context context) { super(context); } public ListViewForScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public ListViewForScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override /** * 重写该方法,达到使ListView适应ScrollView的效果 */ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = View.MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, View.MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
方案2
写一个函数,计算listView实际高度
lv=(ListView)findViewById(R.id.lv);adapter=newMyAdapter();lv.setAdapter(adapter);setListViewHeightBasedOnChildren(lv);
public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); params.height += 5;// if without this statement,the listview will be a // little short listView.setLayoutParams(params); }
解释:
关键都在与计算listview的高度,第一种在重写listview的measure方法计算高度,第二种写函数计算总高度,再设置给listview!
0 0
- ListView嵌入ScrollView问题解决大全
- scrollview嵌入listview问题
- ScrollView嵌入ListView
- ScrollView 嵌套listview 问题解决
- ScrollView+ListView冲突问题解决
- ScrollView 中嵌入ListView 控件 滑动ListView
- ScrollView中包含ListView问题解决
- ScrollView和ListView冲突问题解决
- ScrollView下的ListView问题解决
- ScrollView嵌套ListView的问题解决
- ScrollView嵌套ListView问题解决方案
- ListView和ScrollView冲突问题解决
- Android 使ListView能够嵌入ScrollView
- 如何在ScrollView中如何嵌入ListView
- 如何在ScrollView 中如何嵌入ListView
- android中ScrollView如何嵌入ListView
- 如何在ScrollView中如何嵌入ListView
- ListView或GridView嵌入ScrollView中时,只显示一个Item并且默认将此Item置顶的问题解决办法
- OFDM消除ICI和ISI的原理剖析
- MVC设计模式
- office文件图标显示不正常
- Activity设置成Dialog模式
- 单调栈1001 POJ2796 Feel Good
- ListView嵌入ScrollView问题解决大全
- Minimal Steiner Tree(MST)
- 【NOIP2016提高A组模拟7.17】锦标赛
- 拉塞尔·威斯布鲁克:不知疲倦的“铁人”
- 单调栈1002 POJ 2559 Largest Rectangle in a Histogram
- 正则表达式_鸟叔学习笔记
- linux查看文件/目录 大小(du)、权限(ls ll),用户及组(user/group)增、删、改 (chmod/chown/chgrp)
- 数据结构(8) 构造数组的MaxTree
- ios 谓词