Android Automotive: обновление экрана пользовательского интерфейса после CoroutinesCope HTTP -запросAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Automotive: обновление экрана пользовательского интерфейса после CoroutinesCope HTTP -запрос

Сообщение Anonymous »

В этом примере я просто хочу получить HTML от Google и показать его на моем экране. У меня есть экран загрузки, пока ответ не появится, поэтому экран может быть обновлен. Проблема в том, что экран пользовательского интерфейса обновляется на 10 секунд опоздание, хотя правильный HTTP -ответ уже сразу же появился. Кроме того, функция Invalidate правильно называется, но не имеет непосредственного влияния на обновление пользовательского интерфейса. < /P>

Код: Выделить всё

override fun onGetTemplate(): Template {
if (currentTemplate != null) {
return currentTemplate!!
}

val contentRow = Row.Builder()
.setTitle(carContext.getString(R.string.loading))
.build()

val paneTemplate = PaneTemplate.Builder(
Pane.Builder()
.addRow(contentRow)
.build()
)
.setHeaderAction(Action.BACK)
.setTitle(carContext.getString(R.string.test))
.build()

currentTemplate = paneTemplate
fetchPrivacyPolicyContent()

return paneTemplate
}

private fun fetchContent() {
CoroutineScope(Dispatchers.IO).launch {
try {
val response = RetrofitClient.apiService.getGoogle()
if (response.isSuccessful) {
val htmlContent = response.body() ?: ""
withContext(Dispatchers.Main) {
val updatedRow = Row.Builder()
.setTitle(carContext.getString(R.string.test))
.addText(htmlContent)
.build()

val updatedPane = Pane.Builder()
.addRow(updatedRow)
.build()

currentTemplate = PaneTemplate.Builder(updatedPane)
.setHeaderAction(Action.BACK)
.setTitle(carContext.getString(R.string.test))
.build()

invalidate()
Log.e("ContentScreen", "TEST")

}
}
< /code>
...
}
} < /p>
val apiService: ApiService by lazy {
Retrofit.Builder()
.baseUrl("https://google.com")
.addConverterFactory(ScalarsConverterFactory.create())
.build()
.create(ApiService::class.java)
}
Что бы я ни делал, допустил, нажимайте и всплывает экран после ответа, кажется, ничего не работает.

Подробнее здесь: https://stackoverflow.com/questions/794 ... tp-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»