查看: 1017|回复: 0

[手机开发] Android ScrollView嵌套ExpandableListView显示不正常的问题的解决办法

发表于 2017-8-1 08:00:04
尚学堂AD

Android ScrollView嵌套ExpandableListView显示不正常的问题的解决办法

前言:

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

重写ExpandableListView:

实例代码:

  1. package com.jph.view;
  2. import android.content.Context;
  3. import android.util.AttributeSet;
  4. import android.widget.ExpandableListView;
  5. /**
  6. * 重写ExpandableListView以解决ScrollView嵌套ExpandableListView
  7. *<br> 导致ExpandableListView显示不正常的问题
  8. * @author jph
  9. * Date:2014.10.21
  10. */
  11. public class CustomExpandableListView extends ExpandableListView {
  12. public CustomExpandableListView(Context context) {
  13. super(context);
  14. // TODO Auto-generated constructor stub
  15. }
  16. public CustomExpandableListView(Context context, AttributeSet attrs) {
  17. super(context, attrs);
  18. // TODO Auto-generated constructor stub
  19. }
  20. public CustomExpandableListView(Context context, AttributeSet attrs,
  21. int defStyle) {
  22. super(context, attrs, defStyle);
  23. // TODO Auto-generated constructor stub
  24. }
  25. @Override
  26. protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  27. // TODO Auto-generated method stub
  28. int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
  29. MeasureSpec.AT_MOST);
  30. super.onMeasure(widthMeasureSpec, expandSpec);
  31. }
  32. }
复制代码

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

  1. <com.jph.view.CustomExpandableListView android:id="@+id/elItems"
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"/>
复制代码

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!



回复

使用道具 举报