Java源码示例:androidx.recyclerview.widget.AsyncListDiffer
示例1
public AsyncListDifferDelegationAdapter(@NonNull DiffUtil.ItemCallback<T> diffCallback,
@NonNull AdapterDelegatesManager<List<T>> delegatesManager) {
if (diffCallback == null) {
throw new NullPointerException("ItemCallback is null");
}
if (delegatesManager == null) {
throw new NullPointerException("AdapterDelegatesManager is null");
}
this.differ = new AsyncListDiffer<T>(this, diffCallback);
this.delegatesManager = delegatesManager;
}
示例2
public AsyncListDifferDelegationAdapter(@NonNull AsyncDifferConfig differConfig,
@NonNull AdapterDelegatesManager<List<T>> delegatesManager) {
if (differConfig == null) {
throw new NullPointerException("AsyncDifferConfig is null");
}
if (delegatesManager == null) {
throw new NullPointerException("AdapterDelegatesManager is null");
}
this.differ = new AsyncListDiffer<T>(new AdapterListUpdateCallback(this), differConfig);
this.delegatesManager = delegatesManager;
}
示例3
/**
* Adds a list of {@link AdapterDelegate}s
*
* @param delegates
* @since 4.2.0
*/
public AsyncListDifferDelegationAdapter(@NonNull DiffUtil.ItemCallback<T> diffCallback,
@NonNull AdapterDelegate<List<T>>... delegates) {
if (diffCallback == null) {
throw new NullPointerException("ItemCallback is null");
}
this.differ = new AsyncListDiffer<T>(this, diffCallback);
this.delegatesManager = new AdapterDelegatesManager<List<T>>(delegates);
}
示例4
/**
* Adds a list of {@link AdapterDelegate}s
*
* @param delegates
* @since 4.2.0
*/
public AsyncListDifferDelegationAdapter(@NonNull AsyncDifferConfig differConfig,
@NonNull AdapterDelegate<List<T>>... delegates) {
if (differConfig == null) {
throw new NullPointerException("AsyncDifferConfig is null");
}
this.differ = new AsyncListDiffer<T>(new AdapterListUpdateCallback(this), differConfig);
this.delegatesManager = new AdapterDelegatesManager<List<T>>(delegates);
}
示例5
public DifferFlapAdapter(final @NonNull DiffUtil.ItemCallback<T> itemCallback) {
differ = new AsyncListDiffer(this, itemCallback);
}
示例6
public DifferFlapAdapter(@NonNull AsyncDifferConfig<T> config) {
differ = new AsyncListDiffer(new AdapterListUpdateCallback(this), config);
}
示例7
@NonNull
private AsyncListDiffer<ViewModel> createDiffer(@NonNull final DiffCallback<? extends ViewModel> diffCallback, final boolean async) {
return (AsyncListDiffer<ViewModel>) new AsyncListDiffer<>(getListUpdateCallback(), getConfig(diffCallback, async));
}