在RecyclerView中按下后退按钮恢复滑动视图?

时间:2017-03-04 12:21:15

标签: android android-recyclerview itemtouchhelper

您好我正在按照本教程here关于使用itemtouchhelper.callback在RecyclerView上拖动和滑动一切正常但如果想恢复通过按下后退按钮滑出的视图会怎么样。怎么做?

1 个答案:

答案 0 :(得分:1)

单击后退按钮时,可以存储要还原的项目。如果对象为null,则调用super方法,然后在适配器中添加该项。

您需要创建一个简单的界面来刷新项目。

在适配器中:

private OnSwipeListener onSwipeListener;

@Override
public void onItemDismiss(int position) {
    if (onSwipeListener != null){
      onSwipeListener.onSwipeItem(data.get(position).clone());
    }
    data.remove(position);
    notifyItemRemoved(position);
}

在活动中:

T itemSwiped;

// Somewhere after you have created the adapter
adapter.setOnSwipeListener(new OnSwipeListener(){
   @Override
   public void onSwipeItem(T item){
     itemSwiped = item;
   }
});
...
Override
public void onBackPressed() {
    if (itemSwiped == null){ 
      super.onBackPressed()
    } else {
      adapter.addItem(itemSwiped);
    }
}