【问题标题】:Android 3-level-ExpandableListView not showing rows on the third level onlyAndroid 3-level-ExpandableListView 仅在第三级不显示行
【发布时间】:2013-01-27 05:55:55
【问题描述】:

我需要为 android 实现一个 3-level-ExpandableListView。我已经将 ExpListView 作为另一个 ExpListView 的子项来完成。两个可展开的列表已经显示并且还可以展开。但是只能看到第2级,如果我点击第2级分组行,箭头变为展开状态,但是第3级的行是看不到的。认为外部 ExpListView 需要刷新以获得第三级行的空间,并且可能还需要重新计算行数。

关于 stackoveflow 的类似问题,最多只有一个示例的链接,我不理解/无法适应我的实现。

链接是这样的:http://mylifewithandroid.blogspot.de/2011/02/3-level-expandable-lists.html

有没有更简单的解决方案,或者任何人都可以用简单的方式解释它。上面链接中的代码对我没有帮助。

解释我到目前为止所做的事情: 我在 ExpandableListView 上设置了 BaseExpandableListAdapter,在它的 getGroupView() 中我使用了 layoutInflater 并编写了一个 ViewHolder,它为每一行保存一个 TextView(作为第一级文本)。 在 getChildView() 中,我在第二个 ViewHolder 中使用了另一个 ExpandableListView。在那个 ExpListView 上,我还设置了一个 BaseExpandableListAdapter 并为此适配器实现了 getGroupView() 和 getChildView()。使用 TextView 完成此操作,如为组(作为 2 级文本)和此处的子级(作为 3 级文本)描述的。

如果需要,我明天可以发布一些代码,需要先在这里准备。但是一个好的教程也会对我有所帮助。

谢谢。

【问题讨论】:

    标签: android expandablelistview


    【解决方案1】:

    尝试在 getChildView() 中使用自定义 expandableListView

    class YourCustomExpandableListView extends ExpandableListView { 
        public YourCustomExpandableListView (Context context) {
           super(context);     
        }
    
        protected void onMeasure(int width, int height) {
            /*
             * Adjust height
             */
            height = MeasureSpec.makeMeasureSpec(500, MeasureSpec.AT_MOST);
            super.onMeasure(width, height);
        }  
    }
    

    看看here

    还可以找到完整的解决方案here

    【讨论】:

    • 问题是要找到500的正确值。我什至尝试过像这样复杂的东西(没有成功):TypedValue value = new TypedValue(); DisplayMetrics metrics = new DisplayMetrics(); context.getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, value, true); ((WindowManager) (context.getSystemService(Context.WINDOW_SERVICE))) .getDefaultDisplay().getMetrics(metrics); int cellHeight = (int) TypedValue.complexToDimension(value.data, metrics); int rootItemsChildrenCount = getChildrenCount(groupPosition); return cellHeight * rootItemsChildrenCount;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多