Я использую android recyclerview для отображения списка элементов, могу выбрать несколько элементов через интерфейс MultipleSelect, и мне нужно показать, что ранее выбранные / отмеченные элементы установлены так, как было проверено в режиме редактирования recyclerview.
Я не могу получить эту бизнес-логику в моем коде.Может кто-нибудь, пожалуйста, помогите мне, и я новичок в разработке для Android.
Я получаю предыдущие выбранные элементы с сервера в формате arrayList:
InterestsList : Ex:["Antiques-Collecting","Arts-Crafts","Boating"]
Этот элемент InterestsList необходимо установитькак отмечено / выбрано в Recyclerview, и снова пользователь может изменить элементы, которые нужно выбрать больше или удалить из ранее выбранных и сохранить данные.
как мне написать простую логику для этого?
strings ArrayList, содержащий данные списка элементов Recycler, InterestsList - данные списка проверенных элементов.
Адаптер Calss:
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.tvInterestName.setText(interests.get(position).getInterest().toString());
interestList = model.getInterests(); // PREVIOUSLY SELECTED ITEMS
//in some cases, it will prevent unwanted situations
holder.checkBox.setOnCheckedChangeListener(null);
//if true, your checkbox will be selected, else unselected
holder.checkBox.setChecked(interests.get(position).isSelected());
holder.cell.setOnClickListener(v ->
{
holder.checkBox.performClick();
});
if (interests.get(position).isSelected()) {
holder.checkBox.setChecked(true);
} else {
holder.checkBox.setChecked(false);
}
holder.checkBox.setOnCheckedChangeListener((buttonView, isChecked) ->
{
guestListener.OnMultipleGuestListener(position, isChecked);
});
}
Выбор нескольких элементов ниже Приемник интерфейса, используемый в моем классе активности:
@Override
public void OnMultipleGuestListener(int position, boolean isChecked) {
interestFinalList.get(position).setSelected(isChecked);
interestsAdapter.notifyDataSetChanged();
}
ScreenShot для необходимых изменений в формате ниже:
Пример: ["Коллекционирование антиквариата", "Искусства-ремесла", "Прогулка на лодке"] Элементы должны быть установлены как отмеченные / выбранные, когда я придуна этот экран.
![enter image description here](https://i.stack.imgur.com/bCo48.jpg)