Сделал пользовательский адаптер для моего RecyclerView со списком - PullRequest
0 голосов
/ 04 июля 2019

Я хочу сделать пользовательский Adapter для своего RecyclerView, потому что мне нужно использовать собственный метод внутри, который будет инициализировать мой List позже, когда мой докладчик будет готов:

    public void setList(List<Object> data){
        this.data = data;
    }

Это мой нестандартный интерфейс для моего адаптера без реализации.

final class AdapterReviews extends RecyclerView.Adapter<AdapterReviews.ReviewViewHolder> {}

Вопрос в том, каким должен быть интерфейс для моего нестандартного Adapter?

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Базовый пользовательский адаптер RecyclerView выглядит следующим образом

public class CustomAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private final Context context;
    ArrayList<String> list = new ArrayList<>();

    public CustomAdapter(Context context, ArrayList<String> list) { // you can pass other parameters in constructor
        this.context = context;
        this.list = list;
    }

    private class CustomAdapterItemView extends RecyclerView.ViewHolder {
        final TextView textView;

        CustomAdapterItemView(final View itemView) {
            super(itemView);
            textView = (TextView) itemView;
        }

        void bind(int position) {
            textView.setText("");
        }
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new CustomAdapterItemView(LayoutInflater.from(context).inflate(R.layout.item_color, parent, false));
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        ((CustomAdapterItemView) holder).bind(position);
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    // Add your other methods here
}
0 голосов
/ 04 июля 2019

Вы можете проверить это . Здесь у вас есть полный пример RecyclerView. Это все сделано Google.

...