gpt4 book ai didi

android - FragmentManager.getFragment() 空指针异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:45:25 24 4
gpt4 key购买 nike

我正在使用支持库 v4,但未能保存 fragment 的状态。

@Override
protected void onSaveInstanceState(Bundle outState)
{
...
if(mFragment != null)
getSupportFragmentManager().putFragment(outState, "frag", mFragment);
...
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
...
if(savedInstanceState != null)
{
//Here I get NullPointerException
getSupportFragmentManager().getFragment(savedInstanceState, "frag");
}
...
}

当我调用 getFragment() 时抛出 NullPointerException(savedInstanceState 包含带有“frag”的条目)。

这是 logcat 输出的一部分:

04-18 00:10:56.719: E/AndroidRuntime(14644): Caused by: java.lang.NullPointerException
04-18 00:10:56.719: E/AndroidRuntime(14644): at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:569)

我还尝试调用返回 nullgetFragments()。这在我看来很奇怪。

我将不胜感激!


解决方案:

我忘记在 onCreate 方法中使用 super.onSaveInstanceState(outState);

最佳答案

感谢@Fllo。问题是我忘记调用父 Activity 的 onSaveInstanceState()

@Override
protected void onSaveInstanceState(Bundle outState)
{
//Added this and the problem was solved
super.onSaveInstanceState(outState);
...
}

关于android - FragmentManager.getFragment() 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23142907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com