我正在尝试实现listView滑动以选择多个项目。基本上,用户将在项目上向右滑动以显示复选框/布局,以显示该项目已被选中。
我让onTouchListener正常工作以正确转换视图,但问题是ListView回收视图。这意味着即使不应该翻译的视图也会出现。
我在我的适配器的getView()方法中附加了onTouchListener,如下所示:
root.setOnTouchListener(new MySwipeListener(holder,position));
答案 0 :(得分:1)
您需要做的就是在ArrayList中维护状态,即创建一个arraylist(如果在pojo / bean类中维护一个标志,则更好) onBIndViewHolder做这样的事情。
ArrayList<Boolean> isTranslated;
public void onBindViewHolder(ViewHolder holder, int position) {
if(isTranslated.get(position)){
holder.container.setTranslationX(100);
}
else{
holder.container.setTranslationX(0);
}
///TODO rest of your logic
}
别忘了用swipestate / translate状态更新arraylist。