AnimatedExpandableListView项目不可选

时间:2017-07-15 00:21:24

标签: android listview expandablelistview

我有一个AnimatedExpandableListView,其项目在用户点击时会展开和折叠。 我希望所选项目在展开时突出显示,并在折叠时返回其原始状态(非突出显示)。

AnimatedExpandableListView' xml:

<com.packagename.library.AnimatedExpandableListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="10dp"
    android:divider="@null"
    android:dividerHeight="0dp"
    android:choiceMode="singleChoice"/>

AnimatedExpandableListView项目的LinearLayout,其背景我想在选中时更改:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/list_selector"/>

选择状态监听器的背景可绘制:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/blue_linear_layout" android:color="@color/white" android:state_selected="true"/>
    <item android:drawable="@drawable/blue_linear_layout" android:color="@color/white" android:state_activated="true"/>
    <item android:drawable="@drawable/gray_linear_layout" />
</selector>

设置choiceMode=singleChoice并将list_selector drawable添加到常规ListView的项目背景中可以正常工作,但它似乎无法在AnimatedExpandableListView上工作。

Here是我用于项目的AnimatedExpandableListView类的github。

提前致谢!

1 个答案:

答案 0 :(得分:0)

在Adapters getGroupView方法中使用此代码

  if (isExpanded){
                convertView.setBackgroundColor(Color.BLACK);
            }else {
                convertView.setBackgroundColor(0);
            }