android.support.v7.widget.RecyclerView.Adapter Java Examples
The following examples show how to use
android.support.v7.widget.RecyclerView.Adapter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: FocusableLinearLayoutManager.java From ticdesign with Apache License 2.0 | 7 votes |
@Override public boolean validAdapter(Adapter adapter) { // TODO: find a better way to valid adapter instead of instance a ViewHolder. if (adapter != null && adapter.getItemCount() > 0) { RecyclerView.ViewHolder viewHolder = adapter.createViewHolder(mTicklableRecyclerView, adapter.getItemViewType(0)); if (!(viewHolder instanceof ViewHolder)) { String msg = "adapter's ViewHolder should be instance of FocusableLinearLayoutManager.ViewHolder"; if (DesignConfig.DEBUG) { throw new IllegalArgumentException(msg); } else { Log.w(TAG, msg); return false; } } } return true; }
Example #2
Source File: ItemSelectionSupport.java From UltimateAndroid with Apache License 2.0 | 6 votes |
/** * Defines the choice behavior for the List. By default, Lists do not have any choice behavior * ({@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#NONE}). By setting the choiceMode to {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#SINGLE}, the * List allows up to one item to be in a chosen state. By setting the choiceMode to * {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#MULTIPLE}, the list allows any number of items to be chosen. * * @param choiceMode One of {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#NONE}, {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#SINGLE}, or * {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#MULTIPLE} */ public void setChoiceMode(ChoiceMode choiceMode) { if (mChoiceMode == choiceMode) { return; } mChoiceMode = choiceMode; if (mChoiceMode != ChoiceMode.NONE) { if (mCheckedStates == null) { mCheckedStates = new CheckedStates(); } final Adapter adapter = mRecyclerView.getAdapter(); if (mCheckedIdStates == null && adapter != null && adapter.hasStableIds()) { mCheckedIdStates = new CheckedIdStates(); } } }
Example #3
Source File: SelectableListLayout.java From 365browser with Apache License 2.0 | 6 votes |
/** * Initializes the RecyclerView. * * @param adapter The adapter that provides a binding from an app-specific data set to views * that are displayed within the RecyclerView. * @return The RecyclerView itself. */ public RecyclerView initializeRecyclerView(Adapter<RecyclerView.ViewHolder> adapter) { mAdapter = adapter; mAdapter.registerAdapterDataObserver(mAdapterObserver); mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mRecyclerView.setAdapter(mAdapter); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); mRecyclerView.setHasFixedSize(true); mRecyclerView.addOnScrollListener(new OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { setToolbarShadowVisibility(); } }); mItemAnimator = mRecyclerView.getItemAnimator(); return mRecyclerView; }
Example #4
Source File: ItemSelectionSupport.java From MultiView with Apache License 2.0 | 6 votes |
/** * Defines the choice behavior for the List. By default, Lists do not have any choice behavior * ({@link ChoiceMode#NONE}). By setting the choiceMode to {@link ChoiceMode#SINGLE}, the * List allows up to one item to be in a chosen state. By setting the choiceMode to * {@link ChoiceMode#MULTIPLE}, the list allows any number of items to be chosen. * * @param choiceMode One of {@link ChoiceMode#NONE}, {@link ChoiceMode#SINGLE}, or * {@link ChoiceMode#MULTIPLE} */ public void setChoiceMode(ChoiceMode choiceMode) { if (mChoiceMode == choiceMode) { return; } mChoiceMode = choiceMode; if (mChoiceMode != ChoiceMode.NONE) { if (mCheckedStates == null) { mCheckedStates = new CheckedStates(); } final Adapter adapter = mRecyclerView.getAdapter(); if (mCheckedIdStates == null && adapter != null && adapter.hasStableIds()) { mCheckedIdStates = new CheckedIdStates(); } } }
Example #5
Source File: SelectableListLayout.java From AndroidChromium with Apache License 2.0 | 5 votes |
/** * Initializes the RecyclerView. * * @param adapter The adapter that provides a binding from an app-specific data set to views * that are displayed within the RecyclerView. */ public void initializeRecyclerView(Adapter<RecyclerView.ViewHolder> adapter) { mAdapter = adapter; mAdapter.registerAdapterDataObserver(mAdapterObserver); mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mRecyclerView.setAdapter(mAdapter); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); }
Example #6
Source File: TwoWayLayoutManager.java From UltimateAndroid with Apache License 2.0 | 5 votes |
@Override public void onAdapterChanged(Adapter oldAdapter, Adapter newAdapter) { super.onAdapterChanged(oldAdapter, newAdapter); final ItemSelectionSupport itemSelectionSupport = ItemSelectionSupport.from(mRecyclerView); if (oldAdapter != null && itemSelectionSupport != null) { itemSelectionSupport.clearChoices(); } }
Example #7
Source File: RepositoryAdapter.java From agera with Apache License 2.0 | 5 votes |
/** * Builds the {@link RepositoryAdapter} that presents the provided repositories in order and * observes the repositories as well as any additional observables while the provided * {@link Activity} is started (between (between {@link Activity#onStart()} and * {@link Activity#onStop()}). * <p> * Note: Can only be called from {@link Activity#onCreate} ()} */ @TargetApi(14) @NonNull public Adapter<ViewHolder> whileStarted(@NonNull final Activity activity) { final RepositoryAdapter repositoryAdapter = new RepositoryAdapter(this); activity.getApplication().registerActivityLifecycleCallbacks( new WhileStartedActivityLifecycleCallbacks(activity, repositoryAdapter)); return repositoryAdapter; }
Example #8
Source File: RepositoryAdapter.java From agera with Apache License 2.0 | 5 votes |
/** * Builds the {@link RepositoryAdapter} that presents the provided repositories in order and * observes the repositories as well as any additional observables while the provided * {@link Activity} is resumed (between {@link Activity#onResume()} and * {@link Activity#onPause()}). * <p> * Note: Can only be called from {@link Activity#onCreate} ()} */ @TargetApi(14) @NonNull public Adapter<ViewHolder> whileResumed(@NonNull final Activity activity) { final RepositoryAdapter repositoryAdapter = new RepositoryAdapter(this); activity.getApplication().registerActivityLifecycleCallbacks( new WhileResumedActivityLifecycleCallbacks(activity, repositoryAdapter)); return repositoryAdapter; }
Example #9
Source File: ItemSelectionSupport.java From MultiView with Apache License 2.0 | 4 votes |
public void onAdapterDataChanged() { final Adapter adapter = mRecyclerView.getAdapter(); if (mChoiceMode == ChoiceMode.NONE || adapter == null || !adapter.hasStableIds()) { return; } final int itemCount = adapter.getItemCount(); // Clear out the positional check states, we'll rebuild it below from IDs. mCheckedStates.clear(); for (int checkedIndex = 0; checkedIndex < mCheckedIdStates.size(); checkedIndex++) { final long currentId = mCheckedIdStates.keyAt(checkedIndex); final int currentPosition = mCheckedIdStates.valueAt(checkedIndex); final long newPositionId = adapter.getItemId(currentPosition); if (currentId != newPositionId) { // Look around to see if the ID is nearby. If not, uncheck it. final int start = Math.max(0, currentPosition - CHECK_POSITION_SEARCH_DISTANCE); final int end = Math.min(currentPosition + CHECK_POSITION_SEARCH_DISTANCE, itemCount); boolean found = false; for (int searchPos = start; searchPos < end; searchPos++) { final long searchId = adapter.getItemId(searchPos); if (currentId == searchId) { found = true; mCheckedStates.put(searchPos, true); mCheckedIdStates.setValueAt(checkedIndex, searchPos); break; } } if (!found) { mCheckedIdStates.delete(currentId); mCheckedCount--; checkedIndex--; } } else { mCheckedStates.put(currentPosition, true); } } }
Example #10
Source File: ItemSelectionSupport.java From MultiView with Apache License 2.0 | 4 votes |
/** * Sets the checked state of the specified position. The is only valid if * the choice mode has been set to {@link ChoiceMode#SINGLE} or * {@link ChoiceMode#MULTIPLE}. * * @param position The item whose checked state is to be checked * @param checked The new checked state for the item */ public void setItemChecked(int position, boolean checked) { if (mChoiceMode == ChoiceMode.NONE) { return; } final Adapter adapter = mRecyclerView.getAdapter(); if (mChoiceMode == ChoiceMode.MULTIPLE) { boolean oldValue = mCheckedStates.get(position); mCheckedStates.put(position, checked); if (mCheckedIdStates != null && adapter.hasStableIds()) { if (checked) { mCheckedIdStates.put(adapter.getItemId(position), position); } else { mCheckedIdStates.delete(adapter.getItemId(position)); } } if (oldValue != checked) { if (checked) { mCheckedCount++; } else { mCheckedCount--; } } } else { boolean updateIds = mCheckedIdStates != null && adapter.hasStableIds(); // Clear all values if we're checking something, or unchecking the currently // selected item if (checked || isItemChecked(position)) { mCheckedStates.clear(); if (updateIds) { mCheckedIdStates.clear(); } } // This may end up selecting the checked we just cleared but this way // we ensure length of mCheckStates is 1, a fact getCheckedItemPosition relies on if (checked) { mCheckedStates.put(position, true); if (updateIds) { mCheckedIdStates.put(adapter.getItemId(position), position); } mCheckedCount = 1; } else if (mCheckedStates.size() == 0 || !mCheckedStates.valueAt(0)) { mCheckedCount = 0; } } updateOnScreenCheckedViews(); }
Example #11
Source File: AdvancedRecyclerAdapter.java From Android-Next with Apache License 2.0 | 4 votes |
public AdvancedRecyclerAdapter(final RecyclerView.Adapter<?> adapter) { mWrapped = adapter; mWrapped.registerAdapterDataObserver(mAdapterDataObserver); }
Example #12
Source File: AdvancedRecyclerAdapter.java From Android-Next with Apache License 2.0 | 4 votes |
public Adapter getWrapped() { return mWrapped; }
Example #13
Source File: TwoWayLayoutManager.java From UltimateAndroid with Apache License 2.0 | 4 votes |
protected Adapter getAdapter() { return (mRecyclerView != null ? mRecyclerView.getAdapter() : null); }
Example #14
Source File: ItemSelectionSupport.java From UltimateAndroid with Apache License 2.0 | 4 votes |
/** * Sets the checked state of the specified position. The is only valid if * the choice mode has been set to {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#SINGLE} or * {@link com.marshalchen.common.uimodule.twowayview.ItemSelectionSupport.ChoiceMode#MULTIPLE}. * * @param position The item whose checked state is to be checked * @param checked The new checked state for the item */ public void setItemChecked(int position, boolean checked) { if (mChoiceMode == ChoiceMode.NONE) { return; } final Adapter adapter = mRecyclerView.getAdapter(); if (mChoiceMode == ChoiceMode.MULTIPLE) { boolean oldValue = mCheckedStates.get(position); mCheckedStates.put(position, checked); if (mCheckedIdStates != null && adapter.hasStableIds()) { if (checked) { mCheckedIdStates.put(adapter.getItemId(position), position); } else { mCheckedIdStates.delete(adapter.getItemId(position)); } } if (oldValue != checked) { if (checked) { mCheckedCount++; } else { mCheckedCount--; } } } else { boolean updateIds = mCheckedIdStates != null && adapter.hasStableIds(); // Clear all values if we're checking something, or unchecking the currently // selected item if (checked || isItemChecked(position)) { mCheckedStates.clear(); if (updateIds) { mCheckedIdStates.clear(); } } // This may end up selecting the checked we just cleared but this way // we ensure length of mCheckStates is 1, a fact getCheckedItemPosition relies on if (checked) { mCheckedStates.put(position, true); if (updateIds) { mCheckedIdStates.put(adapter.getItemId(position), position); } mCheckedCount = 1; } else if (mCheckedStates.size() == 0 || !mCheckedStates.valueAt(0)) { mCheckedCount = 0; } } updateOnScreenCheckedViews(); }
Example #15
Source File: SortedListAdapterCallback.java From letv with Apache License 2.0 | 4 votes |
public SortedListAdapterCallback(Adapter adapter) { this.mAdapter = adapter; }
Example #16
Source File: ItemSelectionSupport.java From UltimateAndroid with Apache License 2.0 | 4 votes |
public void onAdapterDataChanged() { final Adapter adapter = mRecyclerView.getAdapter(); if (mChoiceMode == ChoiceMode.NONE || adapter == null || !adapter.hasStableIds()) { return; } final int itemCount = adapter.getItemCount(); // Clear out the positional check states, we'll rebuild it below from IDs. mCheckedStates.clear(); for (int checkedIndex = 0; checkedIndex < mCheckedIdStates.size(); checkedIndex++) { final long currentId = mCheckedIdStates.keyAt(checkedIndex); final int currentPosition = mCheckedIdStates.valueAt(checkedIndex); final long newPositionId = adapter.getItemId(currentPosition); if (currentId != newPositionId) { // Look around to see if the ID is nearby. If not, uncheck it. final int start = Math.max(0, currentPosition - CHECK_POSITION_SEARCH_DISTANCE); final int end = Math.min(currentPosition + CHECK_POSITION_SEARCH_DISTANCE, itemCount); boolean found = false; for (int searchPos = start; searchPos < end; searchPos++) { final long searchId = adapter.getItemId(searchPos); if (currentId == searchId) { found = true; mCheckedStates.put(searchPos, true); mCheckedIdStates.setValueAt(checkedIndex, searchPos); break; } } if (!found) { mCheckedIdStates.delete(currentId); mCheckedCount--; checkedIndex--; } } else { mCheckedStates.put(currentPosition, true); } } }
Example #17
Source File: RecyclerViewListObserverListener.java From UniversalAdapter with Apache License 2.0 | 2 votes |
/** * Constructs a new listener which will delegate its calls back to the * given adapter. * * @param adapter The adapter to send calls back to. */ public RecyclerViewListObserverListener(RecyclerView.Adapter<?> adapter) { this.adapter = adapter; }
Example #18
Source File: TicklableLayoutManager.java From ticdesign with Apache License 2.0 | 2 votes |
/** * Check if the adapter is valid for this layout manager. */ boolean validAdapter(Adapter adapter);