【发布时间】:2018-07-18 07:06:17
【问题描述】:
我想在活动中创建片段。 我在 1 个活动中有 4 个片段 我有这样的代码
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new fragment_invoice(), "Invoice");
adapter.addFragment(new fragment_sales_order(), "Sales Order");
adapter.addFragment(new fragment_achievement(), "Achievement");
adapter.addFragment(new fragment_approval(), "Approval");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
我已经成功展示片段 但是当我打开其他片段时 1.打开fragment_invoice 2.移动到fragment_achievement 3.我回到fragment_invoice,然后所有数据都会丢失,但fragment_sales_order不会。 4.如果我打开fragment_sales_order,就会发生这种情况 5. 移动到fragment_approval,然后fragment_sales_order中的所有数据都会丢失。
为什么奇偶分片会丢失分片中的数据?
我正在对此进行研究,也许能给我一些使用 getchildfragmentmanager 的想法。 getChildFragmentManager () cannot be resolved or cannot be referenced
getchildfragmentmanager 方法必须扩展至 FragmentManager 但我的 java 类必须扩展 AppCompatActivity。无法扩展到 FragmentManager,因为我从 http 获得的一些数据扩展为活动意图
当我移动到其他片段时,有人可以帮助我修复我的片段以显示数据吗? 对不起,如果我的问题和语法很奇怪 감사합니다여러번
【问题讨论】:
标签: java android android-fragments android-intent android-activity