@xamarin_russia

Страница 116 из 619
Igor
17.06.2017
18:28:26
Самое фиговое, что там есть и глобальный кэш в $HOME/.nuget и в итоге dll дублируются.

Konstantin
17.06.2017
18:49:02
new ArrayAdapter<string?this, Android.Resource.Layout.ActivityListItem, itemlist);

второй параметр непонятно какой выбрать

Sergey
17.06.2017
19:55:06
Ребят, гружу данные в фрагменте в методе OnActivityCreated (т.к если грузил в OnCreateView, то он не ждал await)

Google
Sergey
17.06.2017
19:55:11
на первый раз все хорошо

но когда перехожу на другой фрагмент

и снова возвращаюсь к этому, то он опять не ждет

где их грузить



Уже посмотрел все гайды по лайфсайклу фрагмента

ничего не помогает

Igor
17.06.2017
20:03:14
и снова возвращаюсь к этому, то он опять не ждет
Кто кого ждёт? Твои методы возвращаться void (а не task) и их никто не может ждать по определению.

Sergey
17.06.2017
20:03:56
ну при первом запуске этот код срабатывает

а при втором он доходит то строки await

и не отображает результат

прогресс бар вечно показывается

Евгений (Light4everyone)
17.06.2017
20:04:51
измени void на Task

Google
Евгений (Light4everyone)
17.06.2017
20:05:08
это как void только Task

Sergey
17.06.2017
20:05:54
ТО ЕСТЬ И ВСЕ?

Max
17.06.2017
20:06:07
да

Sergey
17.06.2017
20:06:29
)))))))))))))))))))))))))))))))))))))))))))))))) метериться тут нельзя вроде))))))))))

то есть я могу

в OnCreateView даже

это воткнуть

?

где оно и было изначально

Max
17.06.2017
20:06:57
"Учите матчасть"

Igor
17.06.2017
20:07:05
это как void только Task
Это не поможет, тк из вызывает Android, а он вообще не в курсе про async/await

Max
17.06.2017
20:07:06
Посмотри про Task

Евгений (Light4everyone)
17.06.2017
20:07:37
если ты помечаешь свой метод как async то он должен возвращать Task или Task<TResult>

Sergey
17.06.2017
20:08:25
Так я читал, что в таких случая void как Task определяется

ну ща попробую

Igor
17.06.2017
20:08:43
)))))))))))))))))))))))))))))))))))))))))))))))) метериться тут нельзя вроде))))))))))
Ты по осторожнее с выражением эмоций, в отличие от c# чата, тут банят.

Max
17.06.2017
20:09:16
Sergey
17.06.2017
20:10:26
Таск не помог

Max
17.06.2017
20:10:56
мммм, посмотри еще с Task.Delay(1000);

Google
Max
17.06.2017
20:10:58
например

Sergey
17.06.2017
20:11:20
правда я делал

это с выносом в отдельный метод

который возвращает Task

Max
17.06.2017
20:11:32
+

Sergey
17.06.2017
20:11:35
думаю не то это

Max
17.06.2017
20:11:36
да, да

Почему нет, то

Ты ждешь пока получишь Tresult от Task

Му
17.06.2017
20:12:07
async void рекомендуют использовать только в евентах

в остальных случаях Task или Task<>

иначе будут сложно диагностируемые баги

Му
17.06.2017
20:12:44
учи матчасть, да

Sergey
17.06.2017
20:13:57
Один вопрос

почему в первый раз работает?



опять только первый раз

Igor
17.06.2017
20:15:44
Ты блин можешь объяснить, кто кого ждет. Я так нифига и не понял, что ты хочешь.

Sergey
17.06.2017
20:15:44
может мне посто этот методв onresume вызывать или еще где-нибуь

Я получаю данные методом await _manager.GetGroups(token) обращаесь к серверу

Google
Sergey
17.06.2017
20:16:16
и должен отобразить их в RecyclerView

ясь*

Max
17.06.2017
20:17:00
так, а активити то пересоздается ?

или нет

Sergey
17.06.2017
20:17:15
нет

Max
17.06.2017
20:17:27
ну и в чем тогда вопрос

эта вещь по определению 1 раз выполняется

Sergey
17.06.2017
20:17:52
нет, стоп эта вещь в фрагменте у меня

Admin
ERROR: S client not available

Max
17.06.2017
20:18:34
поставь там точку останова, по условию захода в метод 2 и более раз

и посмотри

заходит ли

Sergey
17.06.2017
20:18:50
запускаю этот фрагмент - все отображается. скачу через drawer layout во фрагмент 2, а потом опять в drawer выбираю вкладку фрагмент1

заходит

в него

я же гвоорил, что он во второй раз доходит до await'a

и если при запуске в первый раз он делал то что после него стоит (новый адаптер и т.д)

то во второй раз он дальше этой строки не идет

Igor
17.06.2017
20:21:56
Sergey
17.06.2017
20:23:51
Я не знаю таких словечек я ньюфаг

Google
Кита
17.06.2017
20:25:37
Ребят, гружу данные в фрагменте в методе OnActivityCreated (т.к если грузил в OnCreateView, то он не ждал await)
Так. OnActivityCreated и OnCreateView не надо делать async. Вообще никак и никогда

Sergey
17.06.2017
20:26:47
Может тогда в OnResume все эти пляски проводить?

Евгений (Light4everyone)
17.06.2017
20:27:04
Я не знаю таких словечек я ньюфаг
исходный код это твой проект

Sergey
17.06.2017
20:27:33
Понял, спасибо

Кита
17.06.2017
20:27:45
учи матчасть, да
а тебе было бы неплохо понимать что “проглатывание” эксепшнов это тоже не выход) можно и async Task и async void - вопрос как ты отлавливаешь эксепшны

Му
17.06.2017
20:28:07
можно конечно, я же сказал что вообще нельзя

Кита
17.06.2017
20:28:07
далее по теме

Му
17.06.2017
20:28:37
и про проглатывание я знаю

Кита
17.06.2017
20:29:08
@CepBuch что ты хочешь делать асинхронно? какую задачу ты решаешь?

грузишь данные? верно?

Sergey
17.06.2017
20:29:46
Да, в Recycler

Кита
17.06.2017
20:29:56
их нужно грузить тогда когда вью готово их отображать

Чем хорош фрагмент. У него можно переопределить проперти которые говорят о том что вью фрагмента было отрисовано и показано

есть метод OnHiddenChanged

а так же проперти UserVisibleHint

соответственно все зависит от того как и где ты показываешь свой фрагмент. В зависимости от этого ты можешь понимать отобразилась ли вьюха и если да то вызывать Async void метод из которого ты уже будешь грузить данные в какую-то коллекцию, а по окончанию загрузки засетишь эту коллекцию в адаптер как тебе угодно)

Sergey
17.06.2017
20:39:58
Так, концепт понял. осталось разобраться в этих новых методах и пропертях)

Konstantin
17.06.2017
20:43:04
http://shot.hsdn.org/ZvIUFqNt

скажите как цвет менять у разделителей листвьюшки

все слиплось

Страница 116 из 619