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"/>