Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在视图中切换回页面后,片段未还原edittext值_Android_Android Viewpager - Fatal编程技术网

Android 在视图中切换回页面后,片段未还原edittext值

Android 在视图中切换回页面后,片段未还原edittext值,android,android-viewpager,Android,Android Viewpager,交换viewPager中的3个片段后,第一个片段未还原编辑框值。。。我在viewpager中有3个片段,单击第3个片段选项卡并切换回第1个片段后。。编辑填充空白的文本。。请给出一些解决方案。。代码在这里。 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.infla

交换viewPager中的3个片段后,第一个片段未还原编辑框值。。。我在viewpager中有3个片段,单击第3个片段选项卡并切换回第1个片段后。。编辑填充空白的文本。。请给出一些解决方案。。代码在这里。

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_item_master, container, false);
    viewPager = (ViewPager)v. findViewById(R.id.viewpager);
    setupViewPager(viewPager);
    tabLayout = (TabLayout)v. findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    return  v;
}

private void setupViewPager(ViewPager viewPager) {
   // ViewPagerAdapter adapter = new ViewPagerAdapter(mActivity.getSupportFragmentManager());
    ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
    adapter.addFragment(new ItemInfoFragment(), "Item Info");
    adapter.addFragment(new ItemExtraInfoFragment(), "Extra Info");
    adapter.addFragment(new OrderHistoryFragment(), "Order History");
    viewPager.setAdapter(adapter);
}



    class ViewPagerAdapter extends FragmentStatePagerAdapter {
            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);
            }
public View onCreateView(LayoutInflater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图v=充气机。充气(R.layout.fragment\u item\u master,容器,假);
viewPager=(viewPager)v.findViewById(R.id.viewPager);
设置viewPager(viewPager);
tabLayout=(tabLayout)v.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
返回v;
}
专用无效设置ViewPager(ViewPager ViewPager){
//ViewPagerAdapter适配器=新的ViewPagerAdapter(mActivity.getSupportFragmentManager());
ViewPagerAdapter适配器=新的ViewPagerAdapter(getChildFragmentManager());
addFragment(新的ItemInfoFragment(),“ItemInfo”);
addFragment(新的ItemExtraInfoFragment(),“额外信息”);
addFragment(新OrderHistoryFragment(),“订单历史”);
viewPager.setAdapter(适配器);
}
类ViewPagerAdapter扩展了FragmentStatePagerAdapter{
私有最终列表MFFragmentList=new ArrayList();
私有最终列表MFFragmentTitleList=new ArrayList();
公共视图页面编辑器(碎片管理器){
高级经理;
}
@凌驾
公共片段getItem(int位置){
返回MFFragmentList.get(位置);
}
@凌驾
public int getCount(){
返回MFFragmentList.size();
}
public void addFragment(片段片段,字符串标题){
添加(片段);
MFFragmentTitleList.add(标题);
}

仅当片段数量较少时才建议使用此选项。
您可以使用
您的ViewPager.setOffscreenPageLimit(numberOfFragmentsInViewPager);

这样做的目的是,它不会在每次滑动时创建新的片段,因此数据将被持久化。如果不设置此属性,默认值将为1。

尝试在某些持久化数据类型中使用该值,当片段加载时,您的问题将得到解决。ViewPage仅保留当前显示的片段,外加两个当前片段左侧和右侧的片段。如果您的片段超过此点,它将被删除。因此,是的,您需要一些持久性存储来存储数据