У меня есть Горизонтальный RecyclerView. Что бы я хотел сделать, во время выполнения скрывать 2 TextViews всех элементов из адаптера.RecyclerView: переключение видимости детей всех видимых строк
Итак, то, что я хотел бы сделать, - это просмотреть все видимые элементы, получить их макет, а затем изменить видимость некоторых текстовых элементов внутри каждого дочернего элемента.
Вы можете видеть это как «простой макет» с переключателем «Комплексная компоновка».
Я знаю, что я должен получить детей RecyclerView через назначенный RecyclerView.Adapter, но это действительно лучшее решение?
Большое спасибо за любую помощь.
Мой код:
public ViewHolder(View v) {
super(v);
// Some logic here to find children
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the adapter here, loop all visible children, and change visibility?
// Following line will do for clicked item only:
tvwind.setVisibility(tvwind.getVisibility()==View.VISIBLE?View.GONE:View.VISIBLE);
}
});
}
Из приведенного выше кода, я могу изменить видимость щелкнули пункта, но не для всех видимых элементов.
Возможно, попробуйте получить подсчет числа детей и используйте функцию childAt() и переключите видимость? – Keshav
Большое спасибо, я попытался изменить OP и объяснить лучше, но моя проблема состояла бы в том, чтобы перебирать все строки и выполнять эту операцию. –
Теперь я понимаю лучше, вы можете попробовать использовать переменную для проверки видимости вкл/выкл и использовать эту переменную внутри onBindViewHolder, а затем вызвать notifyDataSetChanged? – Keshav