我有一个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的视图没有响应任何更改。