Я пытаюсь реализовать RecyclerView, который поддерживает Multi Selection в элементах, я видел другие вопросы по этой теме, но главное отличие в том, что мне нужно иметь возможность выбирать вне Адаптера.
Например, скажем, у меня есть диалог с именем SelectionDialog, в этом диалоговом окне отображаются некоторые параметры выбора, такие как «Выбрать все», поэтому, если я щелкну по нему, у меня будет возможность выбрать все элементы моего переработчика, и эти элементы должны что-то изменить, чтобы позволить пользователю знать, какие из них выбраны, в моем случае я решил (используя MaterialCardView) добавить небольшую цветовую границу к элементу, чтобы различать guish, если он выбран или нет.
Я могу выбрать все задачи с методом publi c в адаптере (измените их логическое свойство isSelected на true), однако я не могу понять, как добавить эту границу в ViewHolder соответствующего элемента, главным образом потому, что у меня нет доступа к нему
Вот мой код:
//SelectDialog
AllB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
listadapter.SelectAll();
Touched = true;
dismiss();
}
});
//ListAdapter
public void SelectAll()
{
for(int i = 0; i < mList.size(); i++)
ListItem item = mList.get(i);
item.setSelected(true);
//I should be able to add the border to the item here
}
}