仿IOS样式拖拽删除ListView

DragdeleteListView

(仿IOS风格拖拽删除ListView)

GitHub地址:https://github.com/g707175425/IOS_Style-DragDeleteListView

预览效果:

这里写图片描述

代码中实现:
MyDragDeleteListView view = new MyDragDeleteListView(this);
setContentView(view);
BaseAdapter adapter = new BaseAdapter();
view.setAdapter(adapter);
view.setOnRemoveListener(new MyRemoveListener());//设置拖拽删除监听器
#若想要实现删除后剩余行向删除位置移动的动画,需要在监听器中调用下面的方法,在动画结束的回调中进行adapter.notifydatasetchanged()刷新数据:
private class MyRemoveListener implements MyDragDeleteListView.OnRemoveListener {
    @Override
    public void onRemoved(final int position, final MyDragDeleteListView.Direction direction) {
        view.removeItemAnim(position, new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                if(position>lists.size()-1)return;//防止偶尔出现越界现象,最好加入判断.

                if(direction == MyDragDeleteListView.Direction.LEFT){
                    System.out.println(lists.get(position) + "驳回");
                }else{
                    System.out.println(lists.get(position) + "通过");
                }

                lists.remove(position);
                adapter.notifyDataSetChanged();
            }
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });

    }
}

by QQ:707175425

发布了24 篇原创文章 · 获赞 5 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/g707175425/article/details/45479377