@Override
 public void setAbsListView(AbsListView listView) {
   super.setAbsListView(listView);
   mContextualUndoListViewTouchListener = new ContextualUndoListViewTouchListener(listView, this);
   mContextualUndoListViewTouchListener.setIsParentHorizontalScrollContainer(
       isParentHorizontalScrollContainer());
   mContextualUndoListViewTouchListener.setTouchChild(getTouchChild());
   listView.setOnTouchListener(mContextualUndoListViewTouchListener);
   listView.setOnScrollListener(mContextualUndoListViewTouchListener.makeScrollListener());
   listView.setRecyclerListener(new RecycleViewListener());
 }
 @Override
 public void setTouchChild(int childResId) {
   super.setTouchChild(childResId);
   if (mContextualUndoListViewTouchListener != null) {
     mContextualUndoListViewTouchListener.setTouchChild(childResId);
   }
 }
 @Override
 public void setIsParentHorizontalScrollContainer(boolean isParentHorizontalScrollContainer) {
   super.setIsParentHorizontalScrollContainer(isParentHorizontalScrollContainer);
   if (mContextualUndoListViewTouchListener != null) {
     mContextualUndoListViewTouchListener.setIsParentHorizontalScrollContainer(
         isParentHorizontalScrollContainer);
   }
 }