0

每次我滑动都会加载一个新页面,现在我的所有东西都先在纵向上工作,现在我正试图让它在横向和纵向上工作。但是当我旋转屏幕时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其中登录时,它确实会返回 null,而当我 mProgress = new ProgressDialog(getActivity());在其中登录时,onPageVisible它仍然会给出一个空指针,但随后会在该行上。

我真的不明白为什么它应该设置在onCreateView.

在此处输入图像描述

4

2 回答 2

0

假设您正在使用DialogFragment,Android 将在onCreate. 如果您savedInstanceState不为空,您可以通过 onCreate 中的标签找到现有对话框。

于 2014-03-17T11:41:26.807 回答
0

如果您不想重新创建 Activity 或片段,那么只需在扩展 Activity 类的类中覆盖 onConfigurationChanged(){} 方法。

每当您将您的方向从纵向更改为横向或反之亦然时,此方法将保留您的应用程序的状态。

于 2014-03-17T11:44:45.540 回答