Mikhail
что значит "не выходят наружу"? ты после prepareDataList() запускаешь ещё какой-то код который делает что-то со списком?
Artem
Ребята, привет. Надеюсь, кто-нибудь прочитает эту простыню и поможет мне, вы моя последняя надежда, сижу уже 2 дня.
Мне нужно заполнить выпадающий список, используя Room и RxJava и MVVM.
ViewModel фрагмента выглядит так:
fun getData(): Single<List<Kotlin>> {
return dataSource.getAll()
}
В фрагменте делаю так:
private fun prepareDataList() {
viewModel.getData()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : SingleObserver<List<Kotlin>> {
override fun onSuccess(t: List<Kotlin>) {
kotlinDataList = t
}
override fun onSubscribe(d: Disposable) {}
override fun onError(e: Throwable) {}
})
}
kotlinDataList должен заполнится данными, далее я их рассовываю по вьюхе выпадающего списка.
Проблема в том, что лист ВНЕ onSuccess всегда пустой, данные генерируются внутри onSuccess, но не выходят наружу.
При дебагинге данные не выходят наружу и в конце бесконечно горит "application is running".
Я все перегуглил, испробовал и всякие Flowable, Maybe и еще кучу приемов, пересмотрел все примеры, которые нашел в гугле, не могу понять, что у меня не так.
А где лист не пустой?
Artem
А где ты ее проверяешь потом?
Artem
Viktor
И ты его присваиваешь внешней переменной?
да, private var kotlinDataList: List<Kotlin> = mutableListOf() - внешняя переменная, в onSuccess пытаюсь его заполнить t, но внешний лист никогда не заполняется, все только внутри происходит и так и остается, потом приложение просто в ожидании...
Mikhail
onSuccess исполняется асинхронно, т.е. после запуска prepareDataList() он не будет исполнен, а будет только запущено исполнение всей цепочки, которая через некоторое время приведёт к вызову onSuccess
Mikhail
соответственно ты изнутри onSuccess должен вызывать всё что тебе нужно сделать с данными после их прихода
Viktor
Mikhail
Adel
Всем доброго времени суток. Имеется фрагмент, внутри него фрагмент с BottomSheet, а внутри BottomSheet ещё один фрагмент. Какой самый оптимальный способ передать данные из последнего фрагмента в самый родительский?
Viktor
Anonymous
Зачем нужен котлин, когда есть православный джава, к тому же и оригинальный?
Mikhail
Anonymous
Просто взяли синтаксис изменили jetbrains в котлине, и как новый язык приподносят
Mikhail
Viktor
Viktor
в самом конце идет метод заполнения этого списка:
private fun initExpListView() {
if (expandableListView != null) {
val listData = dataList
titleList = ArrayList(listData.keys)
adapter = context?.let {
CustomExpandableListAdapter(
it,
titleList as ArrayList<String>,
listData
)
}
expandableListView!!.setAdapter(adapter)
}
}
Viktor
это все отдельные методы, идут в onCreateView один за другим
Mikhail
да
ну так его тоже нужно запустить в onSuccess, логично ведь если у тебя нихера нет ещё при его исполнении, то и ничего не отрисуется
Viktor
вот так идет в onCreateView
expandableListView = root.findViewById(R.id.exp_list_view)
prepareDataList()
initExpListView()
Adel
Turalllb
Просто взяли синтаксис изменили jetbrains в котлине, и как новый язык приподносят
нет, не просто. Мог бы рассказать немного профитов, чтобы обо всех сказать, нужно эти оба языка идеально знать. Но если есть православный джава, то почему в гугл перешли на котлин? Наверно не просто так, потому стоит тоже попробовать, поплеваться несколько месяцев, а потом удивляться : эдакий я дурак был, что так долго на джаве сидел
Savva
Друзья, подскажите, пожалуйста. Повторяю за гугловским туториалом, где у них звездочка появляется внизу, под строкой, но у меня почему то появляется справа. Как пофиксить и чем это вызвано?
Стас 🍕🍕🍕
orientation поставь
Delt@[•_•]
Savva
orientation поставь
Вертикальный все прячет за левый край, а горизонтальный ничего визуально не меняет
Delt@[•_•]
Savva
Delt@[•_•]
Стас 🍕🍕🍕
вес
Savva
Веса убери
убрал веса и поставил ширину по родительскому элементу и все заработало. Спасибо
Viktor
Глеб
уважаемые
Глеб
у яндекс map sdk фришная или нет?
Valeriy
при скролле меняю цвет иконок в тулбаре так, но почему-то когда я нажимаю на кнопку меню в виде трех точек, то цвет перестает меняться у иконок menuItem'ов, кто знает почему такое может быть ?
Valeriy
т.е этот код отрабатывается, у кнопки назад цвет меняется,у кнопки в виде трех точек цвет меняется,а у иконок из меню перестает меняться
Стас 🍕🍕🍕
это же в onCreateOptionsMenu надо, не?
Стас 🍕🍕🍕
иначе при каждой перерисовке меню все это будет сбрасываться
Dmytro
Всем привет у кого то был опыт с FacebookSdk (deferred deep link)?
Vitaly
Почему при обработке MotionEvent в onTouchListener может резко скакать координата y?
Ситуация: Я медленно веду палец, координата изменяется в пределах 10 пикселей, а потом резко изменяется на 500+ пикселей
Dmytro
Dmytro
Всем привет у кого то был опыт с FacebookSdk (deferred deep link)?
Я получаю AppLinkData всегда null при вызове AppLinkData.fetchDeferredAppLinkData(context, compHandl).
Я не понимаю в чём проблема.
Я использую инструмент тестирования от fb, ставлю галку на отправку отложенного дип линка переустанавливаю приложение и тп
Всегда ответ null
Хотя запрос проходит успешно (так как fb регистрирует мои запросы deferred deep links)
Sadyk
Всем добрый вечер, кто нибудь работал с файрбейз док-ей?
И использовал ли кто нибудь вместо готового апи файрбейз ретрофит запросы?
(Регистрация пользователя, вход и тд)
Можете подсказать как их конвертировать в обычные рефтрофит запросы, а то я ничего не могу нагуглить(
Roman
Sadyk
да
есть дефолтные запросы , допустим, signInWithEmailAndPassword , я хочу его через ретрофит сделать.
Sadyk
Master
Подскажите из AsyncTask как вернуть значение String во внешний класс. Внутри класса данные есть, а при вызове метода во внешнем классе null?
Aleksey
Master
callback
Поправлюсь, нужно получить данные во внешний класс и с Intent отправить в новую активность. В UI не нужно . Вопрос получить строку во внешний класс
Aleksey
Master
Anonymous
Как можно сделать чтобы в recycler view элемент удалялся по истечению нескольких секунд после добавления?
Mikhail
В Google Play можно публиковать 32-х битную альфа версию? Уже почти сутки прошли, но обновление так и не появилось у тестеров. В консоли просто информационное предупреждение, но никаких запретов публикации не было.
Mikhail
Это обновление старого приложения, а не новый релиз.
Steel
Кто-нибудь может мне объяснить? Я запутался в разнообразии. Есть просто пакет android, есть что-то там под котлин, есть androidx, есть Android Jetpack, есть Anko, который все хвалят, а он оказывается deprecated, есть какой-то rxJava.
Кто-нибудь может мне объяснить из чего вообще состоит экосистема андроида, и что зачем нужно?
Mikhail
Mikhail
Anko умер, это да
Steel
Mikhail
А Jetpack это что?
androidx это часть jetpack, как сказано в документации
https://developer.android.com/jetpack/androidx
https://developer.android.com/jetpack
Steel
Steel
Farid
Сергей
На Андроид как-то всё доходит с опозданием - в WPF, QML, JavaFX байндинги с незапамятных времён уже...
Vovka
Ребят, всем привет)
Тыкнулся в корутинки - и сходу вспоткнулся
Я прямо уже не знаю что за дела
Ретрофит (2.6.0 разумеется) утверждает, что не может создать CallAdapter для java.lang.Object
В сервисе метод пометить как suspend я не забыл
Гугл чето тоже не радует решениями
Может есть у кого предположения, что может идти не так? Буду очень благодарен любым отзывам)
Mike
Vovka
kotlin, mvvm, koin
Vovka
корутины и лайв дата
Vovka
Код, стек?
или имелся в виду конкертный мой код который я не могу завести?
Kanstantsin
Вопрос в сервисе, для корутин там должен быть Deffered<Type>