I'm using this library使用滑动制作列表视图以关闭功能。
我正在使用ArrayAdapter并使用此代码创建一个轻扫来解除侦听器
SwipeDismissListViewTouchListener touchListener =
new SwipeDismissListViewTouchListener(
listView,
new SwipeDismissListViewTouchListener.DismissCallbacks() {
@Override
public boolean canDismiss(int position) {
return true;
}
@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
mAdapter.remove(mAdapter.getItem(position));
}
mAdapter.notifyDataSetChanged();
}
});
listView.setOnTouchListener(touchListener);
// Setting this scroll listener is required to ensure that during ListView scrolling,
// we don't look for swipes.
listView.setOnScrollListener(touchListener.makeScrollListener());
但是每次尝试滑动它似乎都有效,但随后该项目又回来了。
log cat并没有抛出任何异常。
之前有人有这个错误吗?请帮忙。
答案 0 :(得分:4)
当我使用Roman Nurik的轻扫时,我遇到了同样的问题。在适配器中创建自己的remove方法:
public void remove(int position) {
yourList.remove(position);
}
你应该这样称呼:
@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
mAdapter.remove(position);
}
mAdapter.notifyDataSetChanged();
}