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

У меня Адаптер для ViewHolder в классе CustomRecyclerAdapter, так же

функция onCreate, и openList() в классе QuestionActivity, как вызвать openList() из класса адаптера CustomRecyclerAdapter?

QuestionActivity.openList() не работает..

29 ответов

23 просмотра

Сделай наоборот. Создай функцию в адаптере updateData() и вызывай ее в своей активити

Oleg-Vasylenko Автор вопроса
Chuck
Сделай наоборот. Создай функцию в адаптере updateD...

Ну вот мне нужно вызвать MainActivity из адаптера, а onCreate находится в классе QuestionActivity, Как сделать?

Oleg Vasylenko
Ну вот мне нужно вызвать MainActivity из адаптера,...

По идее, в адаптере лучше не вызывть напрямую интенты. Лучше прокинуть интерфейс из адаптера в активити/фрагмент

Oleg-Vasylenko Автор вопроса

А как он реализовывается?

Oleg Vasylenko
screenshot А как он реализовывается?

Интерфейс должен быть внутри адаптера, а активити должно его реализовывать. Из адаптера по клику дергайте интерфейс.

Oleg Vasylenko
screenshot

Да, почти так. В адаптере только он вроде не через super зовётся.

Oleg Vasylenko
screenshot

Это kotlin... Ты с чего super используеш?

Oleg-Vasylenko Автор вопроса

Если супер убрать, те же ошибки

Oleg Vasylenko
Если супер убрать, те же ошибки

В конструктор(обычно) адаптера из активити/фрагмента передается this(раз уж наследует). В адаптере на этой переменной дергайте метод интерфейса.

Oleg-Vasylenko Автор вопроса

А где именно this писать?

Oleg Vasylenko
А где именно this писать?

Вы в курсе что такое this в рамках класса? this - это сам класс и все, от чего он наследуется. В данном случае передаете в конструктор адаптера. Т.е. в конструкторе адаптера должна быть переменная с типом интерфейса. Далее эту переменную с методом интерфейса дергайте где надо.

Oleg-Vasylenko Автор вопроса

Просто я не понял что за переменная с типом интерфейса

Oleg Vasylenko
Просто я не понял что за переменная с типом интерф...

переменная, в которой хранится объект класса, реализующий интерфейс

Oleg-Vasylenko Автор вопроса
Viktor
В конструктор(обычно) адаптера из активити/фрагмен...

А в onCreate как переопределить эту переменную?

Oleg Vasylenko
screenshot А в onCreate как переопределить эту переменную?

Вторым параметром передаёте this. У вас там подсвечено даже. А на втором скрине this не обязателен.

Oleg-Vasylenko Автор вопроса

Тебе нужно передать значение в метод fun updateData()?

Oleg-Vasylenko Автор вопроса
Артём Одинцов
Тебе нужно передать значение в метод fun updateDat...

onCreate с другого класса передает значения адаптеру через интерфейс, типа что-бы при нажатии на Холдер - вызвать интент

Oleg Vasylenko
onCreate с другого класса передает значения адапте...

Я в принципе понять не могу почему ты методу присваиваешь значение. Это не переменная

Oleg Vasylenko
screenshot

мсье знает толк в извращениях...

Oleg-Vasylenko Автор вопроса
Артём Одинцов
Я в принципе понять не могу почему ты методу присв...

А как вызвать функцию с интерфейса? <Updatedata>UpdateData()?

Oleg Vasylenko
screenshot

this не в сам конструктор класса, а при его вызове из активити. Вы там передали какой-то смапленный список, после него поставьте this. Изучите сначала интерфейсы лучше.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта