blob: 960add45375effa3786d4ddd775d6e84a832f13f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package com.mapswithme.maps.gallery;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
public abstract class AdapterStrategy<VH extends Holders.BaseViewHolder<I>, I extends Items.Item>
{
@Nullable
private final ItemSelectedListener<I> mListener;
@NonNull
protected final List<I> mItems = new ArrayList<>();
AdapterStrategy(@Nullable ItemSelectedListener<I> listener)
{
mListener = listener;
}
@NonNull
abstract VH createViewHolder(@NonNull ViewGroup parent, int viewType);
protected abstract void onBindViewHolder(Holders.BaseViewHolder<I> holder, int position);
abstract int getItemViewType(int position);
public int getItemCount()
{
return mItems.size();
}
@Nullable
protected ItemSelectedListener<I> getListener()
{
return mListener;
}
}
|