我对notifyDataSetChanged()
BaseExpandableListAdapter
的工作原理有疑问
我正在更新一个布尔变量,其输出确定getChildrenCount()
的输出,但可见的注释数量在调用时不会改变
代码:
buttonViewComments.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
allCommentsVisible = !allCommentsVisible;
notifyDataSetChanged();
}
});
getChildrenCount:
public int getChildrenCount(int groupPosition) {
if(allCommentsVisible || postList.get(groupPosition).commentListSize()<=3)
return postList.get(groupPosition).commentListSize();
else{
return 3;
}
}
答案 0 :(得分:0)
notifyDataSetChanged
通知附加的观察者基础数据已经存在 已更改,任何反映数据集的视图都应自行刷新。 Reference
在您的情况下,没有任何基础数据更改。为了使其工作,您需要更改列表postList
项目,以便更新集合,计数器将随着集合的大小一起更新。
答案 1 :(得分:0)
您可以从此链接获得有关此内容的有用信息。
Android. How does notifyDataSetChanged() method and ListViews work?