Добавляйте и удаляйте строки динамически из секционированного просмотра переработчика - PullRequest
0 голосов
/ 16 февраля 2020

Я использую эту библиотеку https://github.com/luizgrp/SectionedRecyclerViewAdapter, чтобы добавить секционированные заголовки со строками в представление переработчика. Я хочу добавлять и удалять элементы каждого раздела динамически. для добавления я хочу проверить, имеет ли предыдущий добавленный раздел такой же заголовок, если да, просто добавьте в строку раздела, иначе создайте другой раздел с заголовком. для удаления строки раздела захочет скрыть / удалить заголовок, если строки не существует. Как мне этого добиться? Это мой код адаптера

public static class MySection extends Section{
        String headerTitle;
        List<String> list;
        public MySection(String headerTitle,List<String> list) {
            super(SectionParameters.builder()
                    .itemResourceId(R.layout.assigned_courses_item)
                    .headerResourceId(R.layout.header)
                    .build());
            this.headerTitle = headerTitle;
            this.list = list;
        }

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


        @Override
        public RecyclerView.ViewHolder getItemViewHolder(View view) {
            return new ItemViewHolder(view);
        }

        @Override
        public void onBindItemViewHolder(RecyclerView.ViewHolder holder, int position) {
            final ItemViewHolder itemHolder = (ItemViewHolder) holder;
            itemHolder.classNames.setText(list.get(position));
        }

        @Override
        public RecyclerView.ViewHolder getHeaderViewHolder(View view) {
            return new HeaderViewHolder(view);
        }

        @Override
        public void onBindHeaderViewHolder(RecyclerView.ViewHolder holder) {
            final HeaderViewHolder headerHolder = (HeaderViewHolder) holder;
            headerHolder.headerText.setText(headerTitle);
        }

        private class HeaderViewHolder extends RecyclerView.ViewHolder{
            TextView headerText;

            public HeaderViewHolder(@NonNull View itemView) {
                super(itemView);
                headerText = itemView.findViewById(R.id.coursename);
            }
        }

        private class ItemViewHolder extends RecyclerView.ViewHolder{
            TextView classNames;
            ImageView clearBtn;
            public ItemViewHolder(@NonNull View itemView) {
                super(itemView);
                classNames =itemView.findViewById(R.id.classnames);
                clearBtn = itemView.findViewById(R.id.course_clear);
            }
        }
    }
...