У меня есть элемент RecyclerView на Java, который содержит несколько изображений, которые будут отображаться на основе некоторых условий. Тем не менее, я заметил, что если выполняется большинство условий, многие изображения будут видны и будут не связаны с родительским макетом.Сделайте 3 вида видимыми, затем спрячьте остальные на основании условия
Ниже показано, как мои намерения для этой цели:
Рабочий код прост для каждого изображения в RecyclerView, например:
if (iJobType == 1) {
imageView1.setVisibility(View.VISIBLE)
} else {
imageView1.setVisibility(View.GONE)
}
if (iJobType == 2) {
imageView2.setVisibility(View.VISIBLE)
} else {
imageView2.setVisibility(View.GONE)
}
Однако, я не уверен, что делать только 3 изображения после выполнения 3 условий. Скажем, iJobType
- 1, 2, 3, 4, 5, 6; это означает, что на этом условии отобразятся 6 изображений, но сейчас мне нужно только 3 изображения для отображения.
Я надеюсь, что это достаточно ясно, не стесняйтесь оставлять комментарии ниже, чтобы понять это лучше. Ура!
u необходимо проверить ширину вашего изображения и ширину экрана. например .. с каждой настройкой .setVisibility (видимый), увеличивать переменную занятого пространства и проверять с общей доступностью. что-то вроде этого – Farhan
@Farhan Это на самом деле имеет большой смысл! Спасибо за предложение! –
Возможно, видимость - не самый лучший вариант. Вы должны попытаться увеличить ваш getItemCount() в соответствии с доступным пространством. Таким образом, адаптер будет вызывать только bindViewHolder (держатель VH, позиция int), когда есть место –