在ExpandableListAdapter中调用getChildView()的条件

时间:2013-08-09 17:45:48

标签: android view expandablelistview inflate expandablelistadapter

在我的应用中,当适配器返回正确的子计数(调用getChildView()时),我的 ExpandableListAdapter 中的getChildrenCount()未被调用。 我的问题是; 为了让ExpandableListAdapter为其孩子们充气,需要满足哪些条件?

3 个答案:

答案 0 :(得分:1)

当你在群组和子节目中有多个项目时,会调用

,我的意思是当getGroupCount返回大于0的值时

答案 1 :(得分:0)

getGroupCount()方法告诉您在ExpableListView中有多少个组, getChildrenCount(int groupPosition)方法会告诉您各个子组的数量是多少组。因此,直到getChildrenCount方法返回1或大于1的值,直到看不到子视图。

当您的子视图无法显示时,还有一件事非常重要的是"可扩展列表视图的高度必须是match_parent,如果您的可扩展列表视图在任何其他布局中,那么布局高度也应该是match_parent。 "

答案 2 :(得分:-2)

你的问题不在于我的朋友getChildView(),它肯定与布局有关。

确切的问题是android:layout_height =""您的可扩展列表视图中的切割孩子。

使用此作为布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFFF"
tools:context="/*your activity*/" >

<ExpandableListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:childDivider="@android:color/transparent"
    android:dividerHeight="0dp" />