@Override public final boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { if (gestureDetector.onTouchEvent(e)) { View touchedView = rv.findChildViewUnder(e.getX(), e.getY()); onItemSelected(rv.findContainingViewHolder(touchedView), rv.getChildAdapterPosition(touchedView)); } return false; }
@Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { int left = 0; int top = 0; int right = 0; int bottom = 0; int positionOffset; if (parent instanceof HeaderAndFooterRecyclerView) { positionOffset = ((HeaderAndFooterRecyclerView) parent).getProxyAdapter().getPositionOffset(); } else { positionOffset = 0; } RecyclerView.ViewHolder holder = parent.findContainingViewHolder(view); if (holder != null && holder.getItemViewType() != FixedViewHolder.VIEW_TYPE_HEADER && holder.getItemViewType() != FixedViewHolder.VIEW_TYPE_FOOTER) { int position = holder.getAdapterPosition() - positionOffset; if (position != 0) { top = gapSize; } } outRect.set(left, top, right, bottom); }
@Override public void onClick(View view) { RecyclerView recyclerView = listenerRelay.getAttachedRecyclerView(); ViewHolder vh = (ViewHolder) recyclerView.findContainingViewHolder(view); int position = vh.getAdapterPosition(); WrappedItem item = getItemAt(position); switch (view.getId()) { case R.id.check_opened: { doOpen(item, !item.isOpened()); break; } default: { toggleCheck(item); break; } } } };
@Override public void onClick(View view) { RecyclerView recyclerView = provider.getAttachedRecyclerView(); ViewHolder vh = (ViewHolder) (recyclerView != null ? recyclerView.findContainingViewHolder(view) : null); if (vh != null) { int position = vh.getAdapterPosition(); WrappedItem item = getItemAt(position); switch (view.getId()) { case R.id.check_opened: { doOpen(item, !item.isOpened()); break; } default: { toggleCheck(item); break; } } } } };
@Override public void onClick(View view) { RecyclerView recyclerView = provider.getAttachedRecyclerView(); ViewHolder vh = (ViewHolder) (recyclerView != null ? recyclerView.findContainingViewHolder(view) : null); if (vh != null) { int position = vh.getAdapterPosition(); WrappedItem item = getItemAt(position); switch (view.getId()) { case R.id.check_opened: { doOpen(item, !item.isOpened()); break; } default: { toggleCheck(item); break; } } } } };