使用Xlistview时TextView自动换行或ScrollView嵌套Listview高度显示不全
来源:互联网 发布:mac安装win7无法启动 编辑:程序博客网 时间:2024/05/19 14:55
使用Xlistview时TextView自动换行或ScrollView嵌套Listview高度显示不全
在最近的项目中用到ScrollView嵌套Listview。这样高度会显示不全。其实网上很多这个解决办法,只需在listview.setAdapter(adapter);
后面添加一段代码
注意必须实在listview.setAdapter(adapter);才生效。
/* 动态设置ListView的高度
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
if (listView == null) return;
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
for (int i = 0, count = listAdapter.getCount(); i < count; i++) {
View listItem = listAdapter.getView(i, null, listView);
////计算子项View 的宽高
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight() + listView.getDividerHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight;
listView.setLayoutParams(params);
}
之后又出现一个问题,产品要求ListView中的Textview需要适应自动换行。尝试了很多办法,先写一下最简单的一种。只需重写@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
重写onMeasure后,listview在加载数据是getview()方法会频繁执行,慎用。
之后有一个布局需要用到下拉刷新和上拉加载,于是我就又使用了之前修改后的Xlistview。问题出现了,在加载数据时Xlistview只显示一部分,准确的说只显示一页,不能滚动。难道重写onMeasure()发那个发还会有影响吗?
于是我将onMeasure注释掉发现数据完全加载了,
我打印发现int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
expandSpec和heightMeasureSpec是不一样的。一脸懵逼中,希望真正懂得人,留言说一下为什么不一样。
- 使用Xlistview时TextView自动换行或ScrollView嵌套Listview高度显示不全
- ScrollView嵌套使用ListView时遇到,Item显示不全问题
- Scrollview嵌套listview时显示不全
- ScrollView中嵌套ListView时显示不全
- android scrollview嵌套listview出现高度显示不全解决方案
- ScrollView嵌套ListView冲突高度显示不全问题
- scrollview嵌套ExpandableListView、ListView导致显示高度不全
- ScrollView嵌套 ListView显示不全
- ScrollView 下嵌套 ListView 或 GridView 冲突显示不全问题
- 解决ScrollView嵌套ListView或ListView嵌套ListView,listview显示不全的问题
- ScrollView中嵌套ListView或ExpandableListView时显示不全的问题
- ScrollView嵌套TextView显示不全问题记录
- 【控件使用】ScrollView嵌套ListView数据显示不全问题解决
- 关于Scrollview嵌套RecyclerView高度显示不全
- Scrollview嵌套RecyclerView高度显示不全
- 【Android基础学习】动态设置 listView的高度,解决scrollView中嵌套listview时显示不全的问题
- ListView(ScrollView)嵌套ListView、GridView显示不全,内容大于一行计算的高度不正确的解决办法
- ScrollView中嵌套ListView时显示不全的简便解决方案
- C++ Assert()断言机制原理以及使用
- web上传文件方法
- Android播放器开发基础(二)
- cl不可运行解决方法
- 函数传参
- 使用Xlistview时TextView自动换行或ScrollView嵌套Listview高度显示不全
- ######03.经典实体Bean设计:购物项-购物车;订单项-订单。---记录。便于复习。借鉴设计思想
- MapReduce原理总结
- github上实用、常用的插件和库
- PHP字符串函数
- IOS逆向--手动忽略clang编译器警告
- 常用框架(三):spring+springMvc+mybatis+maven+shiro+freemarker
- Android RatingBar 修改 颜色 大小 图片
- 深度学习网络结构图