android scrollview中嵌套expandablelistview高度问题
来源:互联网 发布:美微香蕉网络电视 编辑:程序博客网 时间:2024/05/10 22:32
本文转载至http://blog.csdn.net/swust_chenpeng/article/details/17413955
一、重新expandablelistview
- public class CustomExpandableListView extends ExpandableListView {
- public CustomExpandableListView(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- }
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- // TODO Auto-generated method stub
- int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
- MeasureSpec.AT_MOST);
- super.onMeasure(widthMeasureSpec, expandSpec);
- }
- }
二、动态计算expandablelistview的高度,xxx_group.xml和xxx_child.xml的最外层要用linearlayout,反正relativelayout不行,不知道为什么
- private void setListViewHeight(ExpandableListView listView) {
- ListAdapter listAdapter = listView.getAdapter();
- int totalHeight = 0;
- int count = listAdapter.getCount();
- 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);
- listView.requestLayout();
- }
三、scrollveiew中嵌套的listview的话,前两种都行,还有一种如下
- public class ViewGroupForListView extends LinearLayout implements View.OnClickListener {
- private ListAdapter mAdapter = null;
- private OnItemClickListener mListener = null;
- public ViewGroupForListView(Context context) {
- super(context);
- }
- public ViewGroupForListView(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- this.setOrientation(VERTICAL);
- }
- /**
- * 绑定数据
- */
- protected void bindData() {
- int count = mAdapter.getCount();
- for(int i = 0; i < count; i++) {
- View v = mAdapter.getView(i, null, null);
- v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
- v.setOnClickListener(this);
- v.setId(i);
- addView(v, i);
- }
- }
- /**
- * 设置adapter
- * @param adapter
- */
- public void setAdapter(ListAdapter adapter) {
- mAdapter = adapter;
- if(this.getChildCount() != 0) {
- removeAllViews();
- }
- bindData();
- }
- /**
- * 获取adapter
- * @return
- */
- public ListAdapter getAdapter() {
- return mAdapter;
- }
- /**
- * 绑定监听
- * @param listener
- */
- public void setOnItemClickListener(OnItemClickListener listener) {
- this.mListener = listener;
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if(mListener != null) {
- mListener.onItemClick(v.getId(), mAdapter);
- }
- }
- /**
- * 监听接口
- * @author Visual
- *
- */
- public interface OnItemClickListener {
- public void onItemClick(int position, ListAdapter adapter);
- }
adapter的实现类似普通listview的adapter用法
0 0
- android scrollview中嵌套expandablelistview高度问题
- android scrollview中嵌套expandablelistview
- android scrollview中嵌套expandablelistview
- android scrollview中嵌套expandablelistview
- Android ScrollView中嵌套ExpandableListView,item不显示的问题
- ScrollView中嵌套ListView/ExpandableListView显示问题
- Scrollview中嵌套Expandablelistview
- ScrollView中嵌套ExpandableListView
- Android ScrollView中嵌套ListView或ExpandableListView
- Android在ScrollView中嵌套ListView,ListView高度设置问题
- Android ScrollView嵌套ExpandableListView显示不正常的问题的解决办法
- ScrollView嵌套ListView高度问题
- ScrollView嵌套ExpandableListView显示不正常的问题
- [随手记]ScrollView嵌套ExpandableListView展开问题
- Android ScrollView嵌套listview或ExpandableListView
- scrollview嵌套ExpandableListView、ListView导致显示高度不全
- ScrollView嵌套下ListView或ExpandableListView的高度自适应
- ScrollView嵌套下ListView或ExpandableListView的高度自适应
- 湖南尖锐湿疣康复方法有那些
- Call From hostname/169.168.1.12 to cm:9000 failed on connection exception 解决方法
- [前端] 鼠标点击+鼠标浮动效果(有图有真相)
- 基本HTTP请求+JSON解析+发送异步请求
- leecode 6
- android scrollview中嵌套expandablelistview高度问题
- leetcode || 111、Minimum Depth of Binary Tree
- Java项目经验
- CListCtrl 设置选中状态
- 【linux】 linux gpio操作
- css内联对象和块对象 (
- 高性能计算中并行的概念理解
- 编译bazar包
- 解决CentOS 7.1上LNMP环境运行Laravel报 404 File not found . 错误。