gpt4 book ai didi

android - 配置更改后未在 viewpager 中调用 Fragment.onCreateView()

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:45 25 4
gpt4 key购买 nike

更改方向后,如果我在列表中选择一个项目,我的 viewpager Activity (列表/详细信息类型)将重新创建并崩溃。

我不想用所有细节来打扰您(存在空指针异常,因为在 onCreateView() 中引用的 TextView 为空)。我的问题是:ViewPager 如何在不调用 onCreateView() 的情况下显示 2 个页面,每个页面都有一个 fragment ?

为什么在启动应用程序后还没有打开设备就可以正常工作?

我只有 2 页/fragment 。但是我看到调试器在重新创建此 Activity 时创建了 4 个 fragment 。您知道为什么以及在哪里记录了这一点吗?

有什么解决办法吗?在此先感谢您的帮助。我在这里迷路了,因为我自己不控制 fragment ,viewpager 控制。

==========

更新:请在下面找到其他请求的信息

public class  DetailFragment extends Fragment {
TextView mDetailTV;
// Retrieve the data to display from the parent activity
private String getData() {
ViewPagerActivity activity = (ViewPagerActivity)getActivity();
return( activity.detailArray[activity.mPosition] );
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_detail_fragment, container, false);
mDetailTV = (TextView)view.findViewById(R.id.detailTV);
displayDetail(getData());
return view;
}
// Display data
void displayDetail(String data) {
mDetailTV.setText(data);
}

并且列表和详细信息 fragment 被实例化并像这样传递给寻呼机适配器:

mListFragment = new ListFragmentt();
mDetailFragment = new DetailFragment();
mPagerAdapter = new MFragmentPagerAdapter(getSupportFragmentManager(), mListFragment, mDetailFragment);

此外,列表/详细信息中的数据来自经典的 Skakespeare 示例,所以我怀疑我的三星 S4 内存不足。

最佳答案

我通过删除 FragmentActivity 父类(super class)的 onSaveInstanceState 调用解决了我的问题,如下所示:

protected void FragmentActivity(Bundle outState) {

但我仍然不明白 FragmentActivity 的父类(super class)中发生了什么。只是凭直觉猜测成功了。我不明白它背后的理论。如果有人可以尝试解释一下,那就太好了。

关于android - 配置更改后未在 viewpager 中调用 Fragment.onCreateView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22275848/

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