3

在我的一个中,我Fragments有一个从 parent 调用的方法Activity。该方法没什么特别的,它只是将 my 滚动ListView到一个位置。

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

当我最初调用这个方法时,它就像我期望的那样工作,但是当我旋转我的设备并再次调用它时,我NullPointerException从我的ListView. 我非常迷茫为什么会这样。我试过打电话setRetainInstance(true)。在调用该方法之前,我尝试检查 myListView是否为 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的. 我已经尝试仔细查看我和父母的方法,看看我是否调用了可能导致错误的东西,但没有什么特别突出的。我不确定我遇到的是某种错误,还是我只是忽略了某些东西。任何帮助或建议都会是巨大的。我不完全确定还要添加什么,因为我只是很迷茫为什么会发生这种情况,但是如果有人有问题,我会发布您认为合适的任何代码。ViewPagerFragmentStatePagerAdapteronDestroyFragmentActivity

4

1 回答 1

5

这可能会帮助你

如果您android:targetSdkVersion="12"或更少:

android:configChanges="orientation|keyboardHidden">

如果您android:targetSdkVersion="13"或更多:

android:configChanges="orientation|keyboardHidden|screensize">
于 2012-09-10T06:29:24.557 回答