http-библиотека loopj на Android: обратный вызов, когда активность выполняется в фоновом режиме

#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 если этот ответ поможет, пожалуйста, отметьте это как правильный ответ, нажав на эту галочку рядом с ответом.