我伸出的ExpandableListView创建自己的列表视图和适配器回调的实现方式是:ExpandableListView回调不同步
@Override
public int getGroupCount() {
return m_FilteredSites.getSize();
}
@Override
public Object getGroup(int i) {
return m_FilteredSites.get(i);
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
SiteEntity site = (SiteEntity) getGroup(groupPosition);
//more code ....
}
的问题是,在调用getGroupCount和getGroupView之间的m_FilteredSites集合可以改变(由于在我的情况下使用过滤器)。 有没有一种方法来强制执行同步或任何其他方法,以保持呼叫之间的数据一致?
我看不到如何同步我的代码会有所帮助。我不控制流量 - 这是系统回调。例如,系统将调用getGroupCount并获得数字3(同步块终止)。 2.现在我在另一个同步块中更改数据,项目数变为0. 3.现在系统调用带编号2的getGroupView,因为它仍认为项目数为3. boom。 – galbarm 2013-02-28 09:11:41