я инициализация загрузчика на OnCreate Фрагмент «s(), как этот фрагмент кода:Loader и onLoadFinished() после изменения ориентации
if (null == savedInstanceState) {
Bundle args = new Bundle();
getLoaderManager().initLoader(0, args, this);
}
хорошо, это работает, и данные, как правило, возвращаются на onLoadFinished()
. Но если я изменяю ориентацию, пока загрузчик еще загружает данные, то onLoadFinished()
никогда не вызывается. Пожалуйста, может кто-нибудь объяснить мне, почему? Спасибо
Почему вы не используете его в 'onActivityCreated' без' if' вообще? ... initLoader должен возвращать кешированный результат после изменения ориентации. – Selvin
Я попытаюсь использовать 'onActivityCreated', но я думаю, что он тоже должен работать на' onCreate() '. – GPack
@ Selvin хорошо, я пробовал без инструкции 'if': он работает, даже в onCreate(). Причина, по-моему, заключается в том, что _Loader_ необходимо повторно инициализировать каждый раз, чтобы возвращать кэшированные данные. Ваш комментарий по существу правильный, опубликуйте его как ответ, и я его приму. Благодарю. – GPack