解决android中list在ScrollView当中只显示一行的问题
2016-09-05 09:33
417 查看
这属于list在ScrollView当中的适配
package com.ladongjiguang.meikuangwuziyunshu.PublicClass;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;
/**
* Created by admin on 2016/7/29.
*/
//解决ListView在ScrollView中只能显示一行的问题
public class Utility {
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
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));
listView.setLayoutParams(params);
}
}
用法:
在list的构建代码中添加:
//获得ListView的高度
Utility.setListViewHeightBasedOnChildren(list);
即可
package com.ladongjiguang.meikuangwuziyunshu.PublicClass;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;
/**
* Created by admin on 2016/7/29.
*/
//解决ListView在ScrollView中只能显示一行的问题
public class Utility {
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
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));
listView.setLayoutParams(params);
}
}
用法:
在list的构建代码中添加:
//获得ListView的高度
Utility.setListViewHeightBasedOnChildren(list);
即可
相关文章推荐
- Android中解决scrollview中嵌套listview的listview只显示一行的问题
- 解决ScrollView 中的listView只显示一行的问题:
- Android开发笔记——ScrollView中解决listview,gridview显示不全问题
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- 【Android基础学习】动态设置 listView的高度,解决scrollView中嵌套listview时显示不全的问题
- 解决GridView,ListView嵌套在ScrollView时只显示一行高度的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 解决ScrollView中嵌套ListView和GridView只显示一行的问题
- android 解决ScrollView嵌套ListView的问题,不能全屏,全屏不能显示下面控件
- Android ScrollView嵌套ListView,ListView只显示一行或不显示的解决办法
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- Android 中ScrollView 只显示一行的问题
- 解决把listview放在ScrollView只显示一行的问题
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- android ScrollView中嵌套GridView,ListView只显示一行的解决办法
- Android ScrollView里嵌套Listview,造成Listview的Item显示1行问题的最正确的解决方法
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- [Android] 在ScrollView 中嵌套 GridView/ListView时只显示一行的原因和解决办法
- Android中ScrollView嵌套GridView,解决GridView显示不全的问题