gpt4 book ai didi

android - ViewPager 中的 Fragment View 在恢复时未恢复

转载 作者:IT老高 更新时间:2023-10-28 22:01:03 26 4
gpt4 key购买 nike

我设置了 ActionBar 选项卡。它由 4 个选项卡组成。一切都很好,直到我离开 TabbedFragment 并返回。

我创建这样的标签:

  @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

final ActionBar actionBar = getActionBar();

tabs = Lists.newArrayList();
tabs.add(new TabDefinition<>("Tab 1"));
tabs.add(new TabDefinition<>("Tab 2"));
tabs.add(new TabDefinition<>("Tab 3"));
tabs.add(new TabDefinition<>("Tab 4"));


for (TabDefinition tab : tabs) {
actionBar.addTab(actionBar.newTab()
.setText(tab.text)
.setTag(tab.tag)
.setTabListener(this));
}
}

然后像这样初始化适配器:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.paging_tab_container, container, false);
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewPager = (ViewPager) view.findViewById(R.id.pager);

viewPager.setAdapter(new FragmentStatePagerAdapter(getFragmentManager()) {

@Override
public Fragment getItem(int position) {
return tabs.get(position).fragment;
}

@Override
public int getCount() {
return tabs.size();
}
});

viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
getActionBar().setSelectedNavigationItem(position);
}
});

viewPager.setCurrentItem(getActionBar().getSelectedNavigationIndex(), true);
}

当返回到 TabbedFragment 时,选中的选项卡和旁边的 1 不会有任何内容。只是空 View 。但是如果我选择 current + 2 fragment 内容被加载。然后返回到第一个 fragment 内容被重新加载。
例如,我有 A、B、C、D 选项卡。在离开 TabbedFragment 之前,我选择了选项卡 A。返回 TabbedFragment 时,我仍然在选项卡 A,但它是空的。标签 B 也是如此。
But when selecting tab C it is created and loaded.返回到选项卡 A 它被重新创建。

这可能是什么问题?

最佳答案

过了一会儿又遇到了同样的问题,所以更新了这个问题。如果您使用的是 FragmentStatePagerAdapter,您应该通过 getChildFragmentManager() 而不是 getFragmentManager() 提供 FragmentManager。见 Issue 55068: ViewPager doesn't refresh child fragments when back navigation via backstack

关于android - ViewPager 中的 Fragment View 在恢复时未恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932541/

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