ScrollView嵌套ExpandableListView显示不正常的问题

       关于ScrollView嵌套ExpandableListView导致ExpandableListView显示不正常的问题解决方法有非常多,在这里介绍一种小编亲自測试通过的方法。

重写ExpandableListView:

package com.jph.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ExpandableListView;

/**
 * 重写ExpandableListView以解决ScrollView嵌套ExpandableListView
 *<br> 导致ExpandableListView显示不正常的问题
 * @author jph
 * Date:2014.10.21
 */
public class CustomExpandableListView extends ExpandableListView {

	public CustomExpandableListView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	public CustomExpandableListView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public CustomExpandableListView(Context context, AttributeSet attrs,
			int defStyle) {
		super(context, attrs, defStyle);
		// 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);  
    }  
}

在XML中将ExpandableListView替换为重写的ExpandableListView就可以。

<com.jph.view.CustomExpandableListView android:id="@+id/elItems"
	        android:layout_width="match_parent"
	        android:layout_height="wrap_content"/>


原文地址:https://www.cnblogs.com/yfceshi/p/7097371.html