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));
}