У меня есть действие, которое вызывает initLoader, когда оно создано, чтобы загрузить данные, которые будет отображаться в активности. Обычно это прекрасно работает. У меня есть точки останова, чтобы видеть порядок, что все происходит. Сначала я вызываю initLoader, затем получаю обратный вызов OnCreateLoader, затем обратный вызов OnLoadFinished, тогда все отлично.
Однако я заметил, что если бы я изменил ориентацию на своем Android, я не получаю обратный вызов OnCreateLoader или обратный вызов OnLoadFinished, в результате чего на странице не отображаются данные. Я все еще получаю свою точку останова на вызове initLoader, поэтому я знаю, что это происходит, но я не получаю сообщение об ошибке, и я не могу найти никакой документации, объясняющей, почему я не получил обратный вызов после вызова initLoader.
Интересно, что я получаю обратные вызовы, если вернусь к исходной ориентации.
Итак, суммируем:
Я начинаю работу в портретной ориентации
- Я вызываю initLoader
- Я получаю onCreateLoader и onLoadFinished обратные вызовы
Затем я перехожу к пейзажу
- Я вызываю initLoader
- no onCreateLoader или onLoadFinished callbacks
Я возвращаюсь к портрету
- Я вызываю initLoader
- Я получаю onCreateLoader и onLoadFinished обратные вызовы
Точно так же, если я начинаю работу в ландшафтном режиме, я получаю обратные вызовы. Тогда, если я переключусь на портрет, я этого не сделаю. Затем, если я вернусь к пейзажу, я снова получаю обратные вызовы.
Кто-нибудь знает, что происходит?