expandablelistview中的子元素的默认Onclick?

时间:2013-05-14 08:49:15

标签: android expandablelistview

这是子元素的onclick监听器。

 getExpandableListView().setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

        @Override
        public boolean onChildClick(ExpandableListView parent, View v,
                int groupPosition, int childPosition, long id) {
            // TODO Auto-generated method stub
            onChild_Click(parent,v,
                groupPosition,childPosition, id);
            return true;
        }
    });

单击子元素时它正在工作。现在我需要选择第一个子项作为默认值(在onCreate()方法中)。 对于扩展组我正在使用它。

 getExpandableListView().expandGroup(0);

我为子元素尝试了这些东西,但它没有触发onclick事件。但是当点击它时它正在工作。

 getExpandableListView().setItemChecked(1, true);

 getExpandableListView().setSelectedChild(0, 0, true);

1 个答案:

答案 0 :(得分:0)

首先,您必须将expandableListView选择模式设置为单个.. 我会告诉你:

expListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
expListView.setItemChecked(numberOfChildToCheck+numberOfGroupThatIsOpened+1, true);

如果您希望它正常工作,则必须在打开其他组时折叠它们。 接下来,您必须设置expListView子项的背景drowable以使用选择器。

以下是背景的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_shortAnimTime">


    <item android:drawable="@drawable/selected_backgroun" android:state_activated="true"/>
    <item android:drawable="@drawable/simple_background"/>

</selector>

您可以通过夸大布局将其设置为子项目的视图。你必须设置

android:background="@drawable/name_of_your_xml_file_with_selector

如果不是很清楚,你可以提问,我会用图像向你展示 会是这样的...... enter image description here 感谢。