169 похожих чатов

Всем привет! Использую 5 layout , юзаю их через itemViewType

в recyclerview , каким образом можно получить доступ к view ? например у второго layout надо взять его button и сделать clickable false

37 ответов

10 просмотров

а в чем проблема в Holder прописать?

Rustam- Автор вопроса

думаю харкод будет если прописать в бинд условие и апдейтить его через адаптер

Не совсем понял вас. У вас 5 layout, значит и 5 viewHolder, в которых вы ищете элементы и обрабатываете его

Rustam- Автор вопроса

ваш метод не подойдет для этого, холдер должен просто заполнять ячейки без каких либо условий , мне надо через адаптер ему обращаться

что значит обращаться? Для чего? ViewHolder должен зависить от модели. Хотите чтобы ViewHolder что-то перерисовал, то обновите модель просто и обновите data в adapter и все

Rustam- Автор вопроса

мне не надо данные обновлять , надо его вью элементам обращаться

Такое нельзя делать, так понятно? ViewHolder занимается только показом информации, все

Rustam- Автор вопроса

я и не говорил что можно, Я ясно дал понять что надо получить доступ к его view

Нельзя получить доступ к его view извне. Все через модель

Rustam- Автор вопроса

пфф, пожалуйста если не шарите не пишите так, можно получить, просто у меня разные holder по viewType он его показывает , чисто из за него все становиться сложно

наивный, мы же в мире джавы, можем приватное финальное поле изменить

Покажите код, иначе я вас не понимаю, что вы хотите сделать

Rustam- Автор вопроса

Все просто , надо сделать button enabled false (не кликаю)

в модели добавьте параметр isButtonEnabled, в bind в ViewHolder делайте в зависимости от этого параметра модели кнопку доступной или нет.

Rustam- Автор вопроса

Вариант , но не хотелось бы прописывать отдельную переменную на модельку , спасибо за совет , если ничего из этого не выйдет сделаю так

там же можно вроде через position просто проверить 2 он или нет? или это не то

Ну разные холдеры, а у них свои вьюхи

Rustam- Автор вопроса

Если юзать viewType все усложняется а так смело через getView() или getViewHolderByAdapterPosition() мог бы изменить состояние вью

Rustam- Автор вопроса

Вот не могу получить доступ к ним через адаптер

Ну проверяй тип ячейки и касти холдер к нужному, и дергай у него байнд метод

Rustam- Автор вопроса

Вот это фигню не могу прописать , всегда null возвращает

Что возвращает. Дебаж адаптер и понаставляй брейкпоинтов везде, где нулл может быть.

Rustam- Автор вопроса

Методы такие как getView() getViewHolderByAdapterPosition () null возвращают

Это же не методы ресайклер адаптера. Там должны быть типо Holder getItem и int getItemViewType

Rustam- Автор вопроса

Холдер прописывается в onCreateViewHolder() и только

Что за "прописывается", показывай весь адаптер

"прописывается" очень не профессионально названо)

зачем ты к словам придираешься?

правильно делаю

Rustam- Автор вопроса

Код на работе , имел ввиду что холдер инициализируется в onCreateViewHolder () и возвращает разные view , как вы получили бы доступ к holder ?

на прямую лучше не делать, лучше обновлять конкретную модель в списке и вызывать соответсвующий notify

т.е образно, у 4 вьюхи нужно что-то поменять, sourcelist[4].clickable = false. adapter.notifyItemChanged(4). а в онБинде соотвественно смотреть на все эти поля

Rustam- Автор вопроса

В листе только данные, если Я вас правильно понял то в этом случае не сработает [4].clickable = false

clickable это поле а модели данных. На деле там может быть что-то типа isOrderCompleted и т.д. Суть в том, что состояния вью должны зависеть от данных. Не нужно напряямую искать вью

Rustam- Автор вопроса

Ради только 1 го view которого нужно на 1-2 секунды сделать не кликабельным и для этого в модельку прописывать отдельную переменную что-то не хочется

та ради Бога. Прекрасного времени препровождения 👍

Rustam- Автор вопроса

😂😂😂 спасибо вам ! Ценю , ну если не получится сделаю иначе что-ли)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта