SwipeListView删除item保持列表位置不变

首先不要问为什么会变,因为我用的SwipeListView刷新adapter的时候那个侧滑出来的删除按钮不会恢复回去,而且对position做了删除,不能主动View.GONE,

然后就只能重新setAdapter,但是问题来了,列表回到了顶部因为重新适配了没毛病。

我的需求就是删除一条,位置不变,但是列表带有侧滑删除,删完一切正常。好了有同样需求的小盆友可以粗看一下:

SwipeListView还是要用,然后写

 mListview.setOnScrollListener(new AbsListView.OnScrollListener() {

            /**
             * 滚动状态改变时调用
             */
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                // 不滚动时保存当前滚动到的位置
                if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
                    position = mListview.getFirstVisiblePosition();
                }
            }

            /**
             * 滚动时调用
             */
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            }
        });
,在删除的onRightClick监听里,数据源remove(position)之后mListView重新setAdapter,然后

mListview.setSelection(position);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值