在ExpandableListView中更新groupView的ChildView

时间:2018-04-18 05:32:35

标签: android expandablelistview expandablelistadapter

我有一个ExpandableListView包含很多groupView,其中每个都包含很多childViews,现在我想在groupView中的视图中操作时访问这些childView。

我做的是以下内容,使用listView本身,我处理onGroupCollapse()事件:

所以,在适配器中,我处理getGroupView()方法来处理这组childViews的变化:

@Override
public View getGroupView(final int groupPosition, boolean isExpanded,
                         View convertView, final ViewGroup parent) {
    .
    .
    .
    // the view to alter the childViews accordingely
    CheckBox mCheckBox= convertView
            .findViewById(R.id.mCheckBox);

    // the action on that view
    mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // get the childViews count
            int n = getChildrenCount(groupPosition);
            // loop through them
            for (int i = 0; i < n; i++) {
                // get each chilView separetely
                View childView = getChildView(groupPosition, i, i == n - 1, null, parent);
                // get the required view in the childView to be changed
                TextView sectionName = childView.findViewById(R.id.section);
                // make the required change
                sectionName.setText("some text");
            }
        }
    });
    .
    .
    .
    return convertView;
}

我得到的是关于这些textViews文本没有什么可改变的,我在调试时得到的是成功检索到了childView并且textView也是如此,所以在获取时没有任何错误发生chilldView或其视图,唯一的一点是childView的视图没有响应任何更改。

0 个答案:

没有答案