在我的应用程序中,我曾经在我的片段中打开一个新的对话框。我用的是FrgmentPagerAdapter。每当我从代码中打开一个新的活动时,我都会得到一个空指针异常。
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) {
//
}
}以了解片段何时对用户可见。如何不调用此函数。我做错什么了?有人能向我指出使用片段寻呼机的空指针异常的解决方案吗?或者setUserVisibleHint不是用FragmentStatePagerAdapter调用的?
发布于 2013-08-08 16:46:31
FragmentStatePagerAdapter在它没有正确调用setUserVisibleHint的地方有一个bug。它在这个提交中是固定的:support/commit/bf7974e46b008ffa4a16c61386735c4817d343aa
确保您使用的是http://developer.android.com/tools/support-library/index.html安卓支持库的修订版11或更高版本
Android支持库,第11版(2012年11月) 对v4支持库的更改: 修正了FragmentStatePagerAdapter中用户可见提示的问题。
https://stackoverflow.com/questions/16332163
复制相似问题