Диалог нулевой после изменения ориентации в окне просмотра

Каждый раз, когда я пролистываю, будет загружаться новая страница, теперь у меня все сначала работало в портрете, и теперь я пытаюсь заставить его работать с пейзажем и портретом. Но когда я поверну экран, я получу NullPointerException на моем Dialog,

Функция, вызывающая его внутри MainActivityвнутренний класс FragmentStatePagerAdapter:

@Override
    public void onPageSelected(int position)
    {
        // TODO Auto-generated method stub
        currentSelectedFragmentPosition = position;
        frag.onPageVisible(currentSelectedFragmentPosition);
            frag2.onPageVisible(currentSelectedFragmentPosition);
            frag3.onPageVisible(currentSelectedFragmentPosition);
    }

Функция внутри фрагмента:

public void onPageVisible(int position)
{
     startNewAsyncTask();           
}

Диалог создается внутри onCreateView и регистрирует, что это не нуль. Когда я захожу внутрь onPageVisible он возвращается нулевой, и когда я делаю mProgress = new ProgressDialog(getActivity()); внутри onPageVisible он по-прежнему будет давать нулевой указатель, но вместо этого в этой строке.

Я действительно не понимаю, почему это должно быть установлено в onCreateView,

2 ответа

Если вы не хотите воссоздавать свою деятельность или фрагмент, просто переопределите метод onConfigurationChanged(){} в вашем классе, который расширяет класс Activity.

Этот метод будет сохранять состояние вашего приложения всякий раз, когда вы меняете ориентацию с книжной на альбомную или наоборот.

Предполагая, что вы используете DialogFragmentAndroid заново создаст для вас диалог в onCreate, Вы можете найти существующий диалог по тегу в onCreate, если ваш savedInstanceState не является нулевым

Другие вопросы по тегам