Android FragmentPagerAdapter vs FragmentStatePagerAdapter

Android FragmentPagerAdapter vs FragmentStatePagerAdapter,android,actionbarsherlock,Android,Actionbarsherlock,在我的应用程序中,我曾经在片段中打开一个新对话框。我用的是雷达。每当我从代码中打开一个新活动时,就会出现一个空指针异常 java.lang.NullPointerException at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576) 经过大量搜索,我得出结论,我应该使用FragmentStatePagerAdapter,而不是FragmentAda

在我的应用程序中,我曾经在片段中打开一个新对话框。我用的是雷达。每当我从代码中打开一个新活动时,就会出现一个空指针异常

java.lang.NullPointerException
    at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
经过大量搜索,我得出结论,我应该使用
FragmentStatePagerAdapter
,而不是
FragmentAdapter
。现在,这解决了空指针异常的问题。使用片段适配器时,我在

@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
                   //
        }
    }

了解用户何时可以看到片段。如何不调用此函数。我做错了什么?有人能告诉我使用Fragment Pager或未使用FragmentStatePagerAdapter调用的
setUserVisibleHint
来解决空指针异常的方法吗

FragmentStatePagerAdapter有一个错误,它没有正确调用setUserVisibleHint。它已在此提交中修复:

请确保您使用的是Android支持库的第11版或更高版本

Android支持库,第11版(2012年11月)

v4支持库的更改:

修复了FragmentStatePagerAdapter中用户可见提示的问题