将适配器设置为ExpendableListView类型不匹配

时间:2019-08-29 12:25:28

标签: android android-listview expandablelistview listadapter android-navigationview

当我尝试将适配器设置为ExpendableListView时,它期望使用ListAdapter,但我想使用扩展BaseExpandableListAdapter的自定义ExpandableListAdapter

这是我的ExpandableListView

         time  user_id  is_log  count
6  2000-01-17        0       0      0
7  2000-06-25        0       0      2
8  2000-07-18        0       0      3
10 2000-03-13        1       0      0
5  2000-04-16        1       0      0
9  2000-08-17        1       0      1

设置适配器:

     <ExpandableListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:layout_marginTop="160dp"
        android:id="@+id/exp_lv_nav">
     </ExpandableListView>

错误:类型不匹配:推断的类型为ExpandableListAdapter,但ListAdapter!是预期的

我的适配器顶部:

           exp_lv_nav.adapter = ExpandableListAdapter(this, 
           listDataHeader, listDataChild, exp_lv_nav)

1 个答案:

答案 0 :(得分:2)

在科特林看来这是个问题。现在,您无需像问题中那样使用Kotlin的生成的getter / setter来设置适配器:

exp_lv_nav.adapter = ExpandableListAdapter(this, listDataHeader, listDataChild, exp_lv_nav)

替换为:

exp_lv_nav.setAdapter(ExpandableListAdapter(this, listDataHeader, listDataChild, exp_lv_nav))