Size: a a a

Android Developers

2021 January 10

V

Vitamin in Android Developers
Валерий
это если кнопка открывает новую "вкладку"
в браузере именно так и происходит
как можно пофиксить?
чтобы оно открывало в текущей вкладке
источник

В

Валерий in Android Developers
Vitamin
в браузере именно так и происходит
как можно пофиксить?
чтобы оно открывало в текущей вкладке
в view.hitTestResult.extra лежит адрес который пытается открыться. Но возможно надо будет делать как-то так https://stackoverflow.com/questions/5069901/overriding-android-webchromeclients-oncreatewindow-method-results-in-sigsegv
источник

V

Vitamin in Android Developers
Валерий
в view.hitTestResult.extra лежит адрес который пытается открыться. Но возможно надо будет делать как-то так https://stackoverflow.com/questions/5069901/overriding-android-webchromeclients-oncreatewindow-method-results-in-sigsegv
вижу проблему
у меня WebViewClient
в нем такого метода я так понял нема?
источник

В

Валерий in Android Developers
Vitamin
вижу проблему
у меня WebViewClient
в нем такого метода я так понял нема?
какого метода?
источник

V

Vitamin in Android Developers
Валерий
какого метода?
onCreateWindow
источник

В

Валерий in Android Developers
у webview есть два метода setWebViewClient и setWebChromeClient, которые отвечают за разные штуки
источник

V

Vitamin in Android Developers
Валерий
у webview есть два метода setWebViewClient и setWebChromeClient, которые отвечают за разные штуки
омг
а где почитать про это?
источник

В

Валерий in Android Developers
Vitamin
омг
а где почитать про это?
сделать setWebChromeClient(object: WebChromeClient() {}) и внутри этого класса посмотри доступные оверрайды

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

V

Vitamin in Android Developers
Валерий
сделать setWebChromeClient(object: WebChromeClient() {}) и внутри этого класса посмотри доступные оверрайды

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

K

Kyrylo in Android Developers
Добрый вечер. Разбираюсь с MVVM (kotlin):
в modelView в init вызываю загрузку с помощью репозитория, в репозитории проверяю возвращается ли ответ без ошибок и если есть ошибка - должен передать это обратно в активити (чтоб закрыть ее)
Как это правильнее сделать? Пока думаю в сторону создания во viewModel переменной типа LiveData<Boolean> и, в случае ошибки, присвоить true. Может есть варианты "красивее" и "правильнее"?
источник

L

Leonid in Android Developers
Kyrylo
Добрый вечер. Разбираюсь с MVVM (kotlin):
в modelView в init вызываю загрузку с помощью репозитория, в репозитории проверяю возвращается ли ответ без ошибок и если есть ошибка - должен передать это обратно в активити (чтоб закрыть ее)
Как это правильнее сделать? Пока думаю в сторону создания во viewModel переменной типа LiveData<Boolean> и, в случае ошибки, присвоить true. Может есть варианты "красивее" и "правильнее"?
Можно и так сделать.
источник

I

Ilya in Android Developers
Kyrylo
Добрый вечер. Разбираюсь с MVVM (kotlin):
в modelView в init вызываю загрузку с помощью репозитория, в репозитории проверяю возвращается ли ответ без ошибок и если есть ошибка - должен передать это обратно в активити (чтоб закрыть ее)
Как это правильнее сделать? Пока думаю в сторону создания во viewModel переменной типа LiveData<Boolean> и, в случае ошибки, присвоить true. Может есть варианты "красивее" и "правильнее"?
Result
источник

L

Leonid in Android Developers
Только получится, что у тебя эта live data используется 1 раз.
источник

K

Kyrylo in Android Developers
Ilya
Result
можно немного подробнее?
источник

K

Kyrylo in Android Developers
Leonid
Только получится, что у тебя эта live data используется 1 раз.
поэтому и решил что что-то не так
источник

I

Ilya in Android Developers
Kyrylo
можно немного подробнее?
Делаешь свой sealed класс с Success и Failure
Есть уже готовые варианты https://github.com/androidbroadcast/AsyncResult
источник

L

Leonid in Android Developers
Можно сделать функцию в view model, например isRepoReady: Boolean и вызывать ее из activity.
источник

K

Kyrylo in Android Developers
Ilya
Делаешь свой sealed класс с Success и Failure
Есть уже готовые варианты https://github.com/androidbroadcast/AsyncResult
спасибо, попробую
источник

K

Kyrylo in Android Developers
Leonid
Можно сделать функцию в view model, например isRepoReady: Boolean и вызывать ее из activity.
работаю с данными из сети, поэтому активити и не будет знать когда ее вызвать)
Разве что еще можно в activity в onCreate вызвать функцию load() в viewModel и получить от нее ответ.
источник

I

Ilya in Android Developers
Kyrylo
спасибо, попробую
Можно, кстати, котлиновский kotlin.Result юзать, но там ограничения есть
источник