#android #crash #lifecycle #loopj
#Android #сбой #жизненный цикл #loopj
Вопрос:
Ни в документации, ни в stackoverflow нет ответа на приведенный ниже вопрос.
Я использую библиотеку loopj для HTTP Get запросов в моем приложении для Android. В моем onSuccess()
обратном вызове я обновляю a TextView
с результатами.
Мне было любопытно, что произойдет, если мой Activity
не находится перед Activity
стеком, когда происходит обратный вызов (например: я получаю вызов). Я ожидал, что он разобьется. Как ни странно, это не привело к сбою, а также обновление TextView
произошло, когда я вернулся к Activity
?
Как это возможно?
Комментарии:
1. так в чем проблема?
2. Проблема: как может работать обновление Textview, когда моя активность выполняется в фоновом режиме?
3. Если произошел сбой, опубликуйте stacktrace / LogCat
4. @Sufian: сбоя нет. Вопрос в том, не должен ли он произойти сбой? Я пишу в текстовое представление действия, которое в данный момент находится в фоновом режиме?
Ответ №1:
Он не сработал, потому Activity
что не был уничтожен. Однако не рекомендуется обновлять компоненты пользовательского интерфейса в Thread
или AsyncTask
.
Если вам действительно нужно, вы можете сохранить результаты в поле и, как минимум, поставить галочку следующим образом:
if(myTextView != null)
myTextView.setText("results here");
Комментарии:
1. @user2460477 если этот ответ поможет, пожалуйста, отметьте это как правильный ответ, нажав на эту галочку рядом с ответом.