Может ли фрагмент getContext () возвращать нуль, когда isResumed () возвращает true - PullRequest
0 голосов
/ 25 апреля 2019

В моем коде я отображаю Toast после обратного вызова сетевого запроса.

Поскольку для Toast требуется Context, я сначала проверяю, находится ли Fragment в возобновленном состоянии isResumed(), прежде чем делать вызов getContext() внутри Toast.

Я получаю IllegalStateException с ошибкой Fragment not attached to a context, указывающей на ту строку кода, где я отображаю Toast

Итак, мой вопрос: почему getContext() может вернуть ноль, а фрагмент находится в возобновленном состоянии?

Примечание. В качестве решения я добавил еще одну проверку isAdded().

1 Ответ

0 голосов
/ 25 апреля 2019

Используйте это.

public class yourFragment extends Fragment {
   Context context

   @Override
   public void onAttach(Context context) {
        this.context = context;
        super.onAttach(context);
   }

   @Override
   public void onDetach() {
        super.onDetach();
        this.context = null;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...