public final class MoPubRecyclerAdapter
extends android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>
| Modifier and Type | Class and Description |
|---|---|
static class |
MoPubRecyclerAdapter.ContentChangeStrategy |
| Constructor and Description |
|---|
MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter) |
MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter,
MoPubNativeAdPositioning.MoPubClientPositioning adPositioning) |
MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter,
MoPubNativeAdPositioning.MoPubServerPositioning adPositioning) |
| Modifier and Type | Method and Description |
|---|---|
void |
clearAds()
Stops loading ads, immediately clearing any ads currently in the stream.
|
static int |
computeScrollOffset(android.support.v7.widget.LinearLayoutManager linearLayoutManager,
android.support.v7.widget.RecyclerView.ViewHolder holder) |
void |
destroy() |
int |
getAdjustedPosition(int originalPosition)
Returns the position of an item considering ads in the stream.
|
int |
getItemCount() |
long |
getItemId(int position)
Returns a stable negative item ID for ad items & calls getItemId on your original adapter for
non-ad items.
|
int |
getItemViewType(int position) |
int |
getOriginalPosition(int position)
Returns the original position of an item considering ads in the stream.
|
boolean |
isAd(int position)
Whether the given position is an ad.
|
void |
loadAds(java.lang.String adUnitId)
Start loading ads from the MoPub server.
|
void |
loadAds(java.lang.String adUnitId,
RequestParameters requestParameters)
Start loading ads from the MoPub server, using the given request targeting information.
|
void |
onAttachedToRecyclerView(android.support.v7.widget.RecyclerView recyclerView) |
void |
onBindViewHolder(android.support.v7.widget.RecyclerView.ViewHolder holder,
int position) |
android.support.v7.widget.RecyclerView.ViewHolder |
onCreateViewHolder(android.view.ViewGroup parent,
int viewType) |
void |
onDetachedFromRecyclerView(android.support.v7.widget.RecyclerView recyclerView) |
boolean |
onFailedToRecycleView(android.support.v7.widget.RecyclerView.ViewHolder holder) |
void |
onViewAttachedToWindow(android.support.v7.widget.RecyclerView.ViewHolder holder) |
void |
onViewDetachedFromWindow(android.support.v7.widget.RecyclerView.ViewHolder holder) |
void |
onViewRecycled(android.support.v7.widget.RecyclerView.ViewHolder holder) |
void |
refreshAds(java.lang.String adUnitId)
Refreshes ads in the adapter while preserving the scroll position.
|
void |
refreshAds(java.lang.String adUnitId,
RequestParameters requestParameters)
Refreshes ads in the adapter while preserving the scroll position.
|
void |
registerAdRenderer(MoPubAdRenderer adRenderer)
Registers an ad renderer for rendering a specific native ad format.
|
void |
setAdLoadedListener(MoPubNativeAdLoadedListener listener)
Sets a listener that will be called after the SDK loads new ads from the server and places
them into your stream.
|
void |
setContentChangeStrategy(MoPubRecyclerAdapter.ContentChangeStrategy strategy)
Sets the strategy this adapter should use for moving ads when content is added or removed
from the wrapped original adapter.
|
void |
setHasStableIds(boolean hasStableIds) |
bindViewHolder, createViewHolder, hasObservers, hasStableIds, notifyDataSetChanged, notifyItemChanged, notifyItemChanged, notifyItemInserted, notifyItemMoved, notifyItemRangeChanged, notifyItemRangeChanged, notifyItemRangeInserted, notifyItemRangeRemoved, notifyItemRemoved, onBindViewHolder, registerAdapterDataObserver, unregisterAdapterDataObserverpublic MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter)
public MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter,
MoPubNativeAdPositioning.MoPubServerPositioning adPositioning)
public MoPubRecyclerAdapter(android.app.Activity activity,
android.support.v7.widget.RecyclerView.Adapter originalAdapter,
MoPubNativeAdPositioning.MoPubClientPositioning adPositioning)
public void onAttachedToRecyclerView(android.support.v7.widget.RecyclerView recyclerView)
onAttachedToRecyclerView in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void onDetachedFromRecyclerView(android.support.v7.widget.RecyclerView recyclerView)
onDetachedFromRecyclerView in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void setAdLoadedListener(MoPubNativeAdLoadedListener listener)
loadAds(java.lang.String) and when you call
destroy(). You can also set the listener to null to remove the listener.
Note that there is not a one to one correspondence between calls to loadAds(java.lang.String) and this
listener. The SDK will call the listener every time an ad loads.listener - The listener.public void registerAdRenderer(MoPubAdRenderer adRenderer)
public void loadAds(java.lang.String adUnitId)
loadAds(String, RequestParameters) instead of this method, in
order to pass targeting information to the server.adUnitId - The ad unit ID to use when loading ads.public void loadAds(java.lang.String adUnitId,
RequestParameters requestParameters)
MoPubNativeAdLoadedListener.onAdLoaded(int) will be called for each
ad that is added to the stream.adUnitId - The ad unit ID to use when loading ads.requestParameters - Targeting information to pass to the ad server.public static int computeScrollOffset(android.support.v7.widget.LinearLayoutManager linearLayoutManager,
android.support.v7.widget.RecyclerView.ViewHolder holder)
public void refreshAds(java.lang.String adUnitId)
loadAds(String, RequestParameters) in order to preserve the
scroll position in your view. Only usable with LinearLayoutManager or GridLayoutManager.adUnitId - The ad unit ID to use when loading ads.public void refreshAds(java.lang.String adUnitId,
RequestParameters requestParameters)
loadAds(String, RequestParameters) in order to preserve the
scroll position in your view. Only usable with LinearLayoutManager or GridLayoutManager.adUnitId - The ad unit ID to use when loading ads.requestParameters - Targeting information to pass to the ad server.public void clearAds()
MoPubNativeAdLoadedListener.onAdRemoved(int) will be called for each ad
that is removed from the stream.public boolean isAd(int position)
true only if there is an ad loaded for this position. You can also
listen for ads to load using MoPubNativeAdLoadedListener.onAdLoaded(int).position - The position to check for an ad, expressed in terms of the position in the
stream including ads.public int getAdjustedPosition(int originalPosition)
originalPosition - The original position.MoPubStreamAdPlacer#getAdjustedPosition(int)}public int getOriginalPosition(int position)
position - The adjusted position.MoPubStreamAdPlacer#getOriginalPosition(int)}public void setContentChangeStrategy(MoPubRecyclerAdapter.ContentChangeStrategy strategy)
MoPubRecyclerAdapter.ContentChangeStrategy.INSERT_AT_END
will insert ads when content is added to the end of the stream. This is the default behavior
and the recommended strategy.MoPubRecyclerAdapter.ContentChangeStrategy.MOVE_ALL_ADS_WITH_CONTENT
will cause all ad positions after an insertion or deletion to be adjusted. New
ads will not be displayed when items are added to the end of the stream.MoPubRecyclerAdapter.ContentChangeStrategy.KEEP_ADS_FIXED
will never adjust ad positions when items are inserted or removed.public int getItemCount()
getItemCount in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public android.support.v7.widget.RecyclerView.ViewHolder onCreateViewHolder(android.view.ViewGroup parent,
int viewType)
onCreateViewHolder in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void onBindViewHolder(android.support.v7.widget.RecyclerView.ViewHolder holder,
int position)
onBindViewHolder in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public int getItemViewType(int position)
getItemViewType in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void setHasStableIds(boolean hasStableIds)
setHasStableIds in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void destroy()
public long getItemId(int position)
RecyclerView.NO_ID if your original adapter does
not have stable IDs.getItemId in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public boolean onFailedToRecycleView(android.support.v7.widget.RecyclerView.ViewHolder holder)
onFailedToRecycleView in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void onViewAttachedToWindow(android.support.v7.widget.RecyclerView.ViewHolder holder)
onViewAttachedToWindow in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void onViewDetachedFromWindow(android.support.v7.widget.RecyclerView.ViewHolder holder)
onViewDetachedFromWindow in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>public void onViewRecycled(android.support.v7.widget.RecyclerView.ViewHolder holder)
onViewRecycled in class android.support.v7.widget.RecyclerView.Adapter<android.support.v7.widget.RecyclerView.ViewHolder>