void showFilter(boolean isVisible) { mIsFilterVisible = isVisible; mConstraintSet.clone(mRootView); if (isVisible) { mConstraintSet.clear(mRvFilters.getId(), ConstraintSet.START); mConstraintSet.connect(mRvFilters.getId(), ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START); mConstraintSet.connect(mRvFilters.getId(), ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END); } else { mConstraintSet.connect(mRvFilters.getId(), ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.END); mConstraintSet.clear(mRvFilters.getId(), ConstraintSet.END); } ChangeBounds changeBounds = new ChangeBounds(); changeBounds.setDuration(350); changeBounds.setInterpolator(new AnticipateOvershootInterpolator(1.0f)); TransitionManager.beginDelayedTransition(mRootView, changeBounds); mConstraintSet.applyTo(mRootView); }
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { String item = (String) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(view, item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); return true; } return false; } };
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { String item = (String) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(view, item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } }
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mItemsAdapter) { String item = mItemsAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } } }
public static ZXItemClickSupport removeFrom(RecyclerView view) { ZXItemClickSupport support = (ZXItemClickSupport) view.getTag(view.getId()); if (support != null) { support.detach(view); } return support; }
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mItemsAdapter) { String item = mItemsAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } return true; } return false; } };
private ZXItemClickSupport(RecyclerView recyclerView) { this.recyclerView = recyclerView; this.recyclerView.setTag(recyclerView.getId()); this.recyclerView.addOnChildAttachStateChangeListener(attachListener); }
public static ZXItemClickSupport addTo(RecyclerView view) { ZXItemClickSupport support = (ZXItemClickSupport) view.getTag(view.getId()); if (support == null) { support = new ZXItemClickSupport(view); } return support; }
private void detach(RecyclerView view) { view.removeOnChildAttachStateChangeListener(attachListener); view.setTag(view.getId()); }
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull SingleViewAdapter2 adapter, @NonNull SingleViewAdapter2.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mStringsHeaderAdapter) { mSnackbarLogic.make(view, "Strings Header is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mNumbersHeaderAdapter) { mSnackbarLogic.make(view, "Numbers Header is clicked.", Snackbar.LENGTH_SHORT).show(); } } }
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull MyTreeItemAdapter adapter, @NonNull MyTreeItemAdapter.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MyTreeItem item = adapter.getItemAt(viewHolder.getAdapterPosition()).getItem(); mSnackbarLogic.make(view, "Clicked: " + item.getText(), Snackbar.LENGTH_SHORT).show(); } }
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull SingleViewAdapter2 adapter, @NonNull SingleViewAdapter2.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mStringsHeaderAdapter) { mSnackbarLogic.make(view, "Strings Header is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mNumbersHeaderAdapter) { mSnackbarLogic.make(view, "Numbers Header is long clicked.", Snackbar.LENGTH_SHORT).show(); } return true; } return false; } };
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull MyTreeItemAdapter adapter, @NonNull MyTreeItemAdapter.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MyTreeItem item = adapter.getItemAt(viewHolder.getAdapterPosition()).getItem(); mSnackbarLogic.make(view, "Long clicked: " + item.getText(), Snackbar.LENGTH_SHORT).show(); return true; } return false; } };
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull SingleViewAdapter2 adapter, @NonNull SingleViewAdapter2.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mHeaderAdapter) { mSnackbarLogic.make(view, "Header is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mFooterAdapter) { mSnackbarLogic.make(view, "Footer is clicked.", Snackbar.LENGTH_SHORT).show(); } } }
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mStringsAdapter) { String item = mStringsAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mNumbersAdapter) { Number item = mNumbersAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } } }
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull SingleViewAdapter2 adapter, @NonNull SingleViewAdapter2.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mHeaderAdapter) { mSnackbarLogic.make(view, "Header is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mFooterAdapter) { mSnackbarLogic.make(view, "Footer is long clicked.", Snackbar.LENGTH_SHORT).show(); } return true; } return false; } };
public boolean matchesSafely(View view) { this.resources = view.getResources(); RecyclerView recyclerView = (RecyclerView) view.getRootView().findViewById(recyclerViewId); if (!(recyclerView != null && recyclerView.getId() == recyclerViewId)) { Log.i("MATCHER", "Recycler view missing"); return false; } int childCount = recyclerView.getAdapter().getItemCount(); if (childCount > 0) { Log.i("MATCHER", "Recycler view only has " + childCount + " items, expected it was empty"); return false; } return true; } };
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter<?> adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { MergeRecyclerAdapter.LocalAdapter la = mMergeRecyclerAdapter.getAdapterOffsetForItem(viewHolder.getAdapterPosition()); if (la.mAdapter == mStringsAdapter) { String item = mStringsAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (la.mAdapter == mNumbersAdapter) { Number item = mNumbersAdapter.getItemAt(la.mLocalPosition); mSnackbarLogic.make(view, item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } return true; } return false; } };
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ActivityEntryAdapter adapter, @NonNull ActivityEntryAdapter.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { ActivityEntryAdapter.WrappedItem wrappedItem = adapter.getItemAt(viewHolder.getAdapterPosition()); ActivityEntry entry = wrappedItem.getItem(); if (entry != null && entry.getClazz() != null) { Intent intent = new Intent(MainActivity.this, entry.getClazz()); startActivity(intent); } else { adapter.doOpen(wrappedItem, !wrappedItem.isOpened()); } } } };
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { if (viewHolder instanceof FizzViewHolderFactory.ViewHolder) { Integer item = (Integer) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "Fizz " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof BuzzViewHolderFactory.ViewHolder) { Integer item = (Integer) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "Buzz " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof FizzBuzzViewHolderFactory.ViewHolder) { Integer item = (Integer) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "FizzBuzz " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof IntegerViewHolderFactory.ViewHolder) { Integer item = (Integer) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "Integer " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } } }