我伸出的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