【发布时间】:2017-06-29 09:38:50
【问题描述】:
我在我的模型中使用 ObservableList 进行绑定。当从 ObservableList 中删除该项目时,我想知道哪些项目已被删除。所以我使用ObservableList.OnListChangedCallback。
当项目被删除时,它将调用onItemRangeRemoved()。但问题是该项目已从 onItemRangeRemoved() 的 ObservableList 中删除。
catDatas.addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<CatData>>()
{
@Override
public void onChanged(ObservableList<CatData> sender)
{
}
@Override
public void onItemRangeChanged(ObservableList<CatData> sender, int positionStart, int itemCount)
{
}
@Override
public void onItemRangeInserted(ObservableList<CatData> sender, int positionStart, int itemCount)
{
}
@Override
public void onItemRangeMoved(ObservableList<XROrderItemData> sender, int fromPosition, int toPosition, int itemCount)
{
}
@Override
public void onItemRangeRemoved(ObservableList<CatData> sender, int positionStart, int itemCount)
{
for (int idx = itemCount - 1; idx >= 0; idx--)
{
CatData data = sender.get(idx + positionStart); //this line will throw index out of bounds exception
...
...
...
uninitData(data);
}
}
});
知道如何捕获被移除的项目吗?
谢谢...
【问题讨论】:
标签: java android android-databinding observablelist