0

嗨,我在这里关注本教程,关于在 RecyclerView 上拖动和滑动,使用itemtouchhelper.callbackEverything 工作正常,但是如果想要恢复通过按下后退按钮刷出的视图怎么办。怎么做?

4

1 回答 1

1

单击后退按钮时,您可以存储要恢复的项目。如果对象为空,则调用超级方法,否则,将项目添加到适配器中。

您需要创建一个简单的界面来让项目滑动。

在适配器中:

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);
    }
}
于 2017-03-04T12:40:50.750 回答