Андрей
Знаю что туплю, но не могу понять, почему не вызывает Adapter?
потому что он хочет контекст а ты даешь this внутри фрагмента
Андрей
напиши context вместо this
Anonymous
Anonymous
Спасибо!
Андрей
Да. Разобрался уже. Видимо пора спать((
в смысле? а работать кто будет?
Anonymous
в смысле? а работать кто будет?
Кстати, в какой метод у фрагмента правильнее размещать заполение списка?
Anonymous
OnViewCreated?
Андрей
OnViewCreated?
ну или он createView, не суть важно
Андрей
зачем тебе там ListView?
Андрей
его вроде еще древние египтяне задепрекейтили
Anonymous
ну или он createView, не суть важно
Потому что загружаю туда данные из Сети, и хочу отобразить списком
Никита 🙃
ШуткаНеРаспаршенаЭксепшон
Никита 🙃
Ну вот, ты удалил сообщение и в моих месседжах потёк контекст
Никита 🙃
*вредный совет, мб есть решение лучше* Запоминаешь время тапа, если опять тап происходит в time+500ms то считай двойной тап
Никита 🙃
Вроде с Ырыксом можно красивее оформить
Никита 🙃
Знаю что туплю, но не могу понять, почему не вызывает Adapter?
+ в котлине есть экстеншонс, не обязательно делать findviewbyid
Никита 🙃
Знаю что туплю, но не могу понять, почему не вызывает Adapter?
+ не желательно юзать !! при nullable переменной
Mike
тот самый феерический пример, когда Java-код надёжнее, потому что плохой Kotlin-код проигнорирует невалидное состояние и пойдёт дальше (php-style), а Java-код честно свалится и все узнают об ошибке
Anonymous
Знаю что туплю, но не могу понять, почему не вызывает Adapter?
используй лучше let, вместо !!. Иначе какой смысл от того, что ты юзаешь котлин?
Никита 🙃
С точки зрения юзера, краш намного серьезнее чем если не отображается список.
Anonymous
С точки зрения юзера, краш намного серьезнее чем если не отображается список.
Вот так пару крашей, и юзер тебе влепит 1 звезду из 5 в сторе. А потом ходи и проси чтобы исправил, так как ты починил....
Dug
С точки зрения юзера, краш намного серьезнее чем если не отображается список.
с точки зрения юзера ты получишь в отзыве одну звезду из-за того, что экран пустой
Dug
А потом ещё будешь сидеть и искать, почему же это у тебя список не показывается
Никита 🙃
Юзеры вообще тупые)
Mike
С точки зрения юзера, краш намного серьезнее чем если не отображается список.
в обоих случаях приложение одинаково бесполезно, только при краше ты об этом узнаешь, возможно, даже до релиза
Aleksey
С точки зрения юзера, краш намного серьезнее чем если не отображается список.
Зашел чисто ради того, чтобы написать что с точки зрения пользователь постоянно неверное состояние в приложении хуже, чем краш, который потом все вернет на место (наверное)
Aleksey
в обоих случаях приложение одинаково бесполезно, только при краше ты об этом узнаешь, возможно, даже до релиза
Можно кучу логов собирать а потом корпеть и выискивать проблему Скорее всего, она в логи не попадет - придется добавлять логи и выкатывать в релиз исправленные логи, чтобы найти источник
Mike
ненавижу читать логи. Предпочитаю ассершены когда что-то хоть немного пошло не так https://www.yegor256.com/2015/08/25/fail-fast.html
Никита 🙃
в обоих случаях приложение одинаково бесполезно, только при краше ты об этом узнаешь, возможно, даже до релиза
До релиза, в идеале, тестировщик сам найдёт) был случай. Приложение по навигации на музее. Из-за !!, А не ? приложение у всех юзеров крашилось на выставке потому как бэк начал поле нулл в конфиге для статистики слать из за их бага (поле которое нулл не должно быть). Что самое забавное, оно особо не влияло на пользование приложением, т.е. safe-call был бы ок, но вот в этот день получили куча возмущений.
Aleksey
ненавижу читать логи. Предпочитаю ассершены когда что-то хоть немного пошло не так https://www.yegor256.com/2015/08/25/fail-fast.html
Очень сложно барахтаться в приложении, в котором везде fail safe подход и ты потом не понимаешь, где вообще проблема и есть ли она 👀
Никита 🙃
Не надо падать на парсинге. Там даже checked exceptions зачастую.
Там не совсем на парсинге. Очень долго объяснять все детали)
Aleksey
Да
Я, возможно, не дочитал PDF, на которую ссылается Егор, но при использовании RxJava и CleanArchitecture этот Fail Fast укатывается на UI уровень и потом очень сложно все это искать. Это норм или я не в ту сторону думаю?
Mike
Решайте задачи бизнеса и не позволяйте архитектуре навязать вам какие-либо решения.
Aleksey
Или нужно еще проще?
Mike
Redux и Coroutines - наше все?
Каждой задаче свой инструмент.
Aleksey
Каждой задаче свой инструмент.
Да вот кажется, что задачи в целом везде плюс-минус одинаковые А решают их все очень по-разному
Mike
Да вот кажется, что задачи в целом везде плюс-минус одинаковые А решают их все очень по-разному
Ну вот чтобы сходить по хттп, распарсить джейсон и сверстать списочек не нужен клин, ырыкс или корутины.
Aleksey
Почему?
Ну как индусы на Medium пишут - неудобно и страшно хендлить перевороты экрана и так далее На самом деле, очень хороший вопрос, потому что почему бы и нет, если там реально один запрос
Mike
Ну как индусы на Medium пишут - неудобно и страшно хендлить перевороты экрана и так далее На самом деле, очень хороший вопрос, потому что почему бы и нет, если там реально один запрос
Кто не может обработать повороты с асинктаском, того к ырыксу за версту нельзя подпускать. По факту разницы никакой нет.
Aleksey
Как победить UnknownHostException? Вариант с «отключись от wifi» не канает - пользователи и так его не используют Ходил к DevOps и Backend Team Lead говорят, что у них тоже всё ок.
Muhamad
how can i get the result of this command in Logcat
Muhamad
thw result muss be an pid of packagename
Anonymous
Я правильно понимаю, что передавать параметры (данные) во фрагмент лучше через Bundle, чем через приватное поле в классе Fragment?
Anonymous
Через arguments
Да, я о них и говорю. Можно напрямую во Фрагмент передавать. минуя Активити?
Anonymous
Откуда?
Из AsyncTask
Mike
Из AsyncTask
Который где находится?
Anonymous
Mike
Давай ты вместо односложных ответов расскажешь всё как следует, с кодом
Eugene
в пакете model
а откуда запускается?
Eugene
мне уже интересно стало 😄
Anonymous
Давай ты вместо односложных ответов расскажешь всё как следует, с кодом
https://pastebin.com/7NAtWye4 AsyncTask https://pastebin.com/bERYFsQ4 fragment. Я сделал получение данных через метод get() но подразумеваю что так неправильно. Получается мне в модели, в методе онPostExecute нужно передавать в Bundle фрагмента параметры? Или сделать интерфейс и через него как то передать?
Mike
Можно пример?
class NetHelper( private val callback: List<Valute> ) { ... override fun onPostExecute(result: ArrayList<Valute>) = callback(result)
Mike
А во фрагмент потом как передать? Через Bundle?
Ну какой же там бандл?.. Во фрагменте NetHelper { result -> работаем дальше }
Mike
И не забудь отменить таск, если пользователь выйдет раньше, чем он отработает
Anonymous
@Harmonizr Я немного не пойму саму схему, как правильно передавать данные. Может лучше это делать в адаптере для ListView?
Anonymous
@Harmonizr ладно, не буду более мучать вопросами. Пойду поизу ответ сам
Mike
@Harmonizr Я немного не пойму саму схему, как правильно передавать данные. Может лучше это делать в адаптере для ListView?
Давай так. Вот ты создал во фрагменте ArrayList и засунул туда данные. Как их теперь передать во фрагмент?
Anonymous
@Harmonizr спасибо за помощь, поищу ответ сам.
Mike
Я чо, зря, что ли, писал код с телефона?)
Anonymous
Я чо, зря, что ли, писал код с телефона?)
Нет конечно. Вы натолкнули меня на верный путь. Так в принципе делать неправильно. Нужно создать интерфейс и через него уведомлять фрагмент.
Anonymous
Почему меню нормально не отображается?
Anonymous