java – 为什么我的ListView在片段中的方向更改后变为null?

在我的一个片段中,我有一个从父Activity调用方法.该方法没什么特别的,它只是将我的ListView滚动到一个位置.

public void scrollToSomething() {
    mListView.smoothScrollToPosition(The position I supply);
}

当我最初调用这个方法时,它就像我期望的那样工作,但是当我旋转我的设备并再次调用它时,我从ListView中抛出一个NullPointerException.我很遗憾为什么会这样.我试过调用setRetainInstance(true).在调用方法之前,我已经尝试检查我的ListView是否为null,如果是,那么我再次初始化它,但这也不起作用.我试过用几种不同的方式改变我的onCreateView,想想可能出现问题.

onCreateView

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    /* The View for the fragment's UI */
    final ViewGroup mRootView = (ViewGroup)inflater.inflate(R.layout.fragment_list_base,
            container, false);
    /* Initialize our ListView */
    mListView = (ListView)mRootView.findViewById(R.id.fragment_list_base);
    return mRootView;
}

Fragment使用简单的FragmentStatePagerAdapter附加到ViewPager.我已经仔细查看了我的Fragment的onDestroy方法和父Activity,看看我是否正在调用可能导致错误的东西,但没有什么突出的.我不确定我遇到的是某种错误,或者我只是忽略了什么.任何帮助或建议都会很大.我不完全确定还有什么要补充的,因为我很遗憾为什么会这样,但如果有人有问题,我会发布你认为合适的任何代码.

解决方法:

这可能对你有所帮助

如果你的android:targetSdkVersion =“12”或更少:

android:configChanges="orientation|keyboardHidden">

如果你的android:targetSdkVersion =“13”或更多:

android:configChanges="orientation|keyboardHidden|screensize">

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...