为什么首页上的 ViewPager 会重置其他页面的数据?
Why ViewPager on first page reset other pages data?
我正在我的应用程序中使用 ViewPager
。当我滑动到第 3 页并更改此页面上的一些内容(例如在 EditText
中编写文本)并返回到第 1 页,然后再次滑动到第 3 页时;更改已重置(文本已清除)。为什么?我该如何预防?
我正在使用此代码:
ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);
AddCostPagerAdapter adapter = new AddCostPagerAdapter(
getSupportFragmentManager());
tab.setAdapter(adapter);
AddCostPagerAdapter.class:
private class AddCostPagerAdapter extends FragmentStatePagerAdapter {
public AddCostPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
switch (arg0) {
case 0:
return new Page_1();
case 1:
return new page_2();
case 2:
return new page_3();
default:
return null;
}
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
}
试试这个:
在这行代码之后:
ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);
添加这个:
tab.setOffscreenPageLimit(3);
我正在我的应用程序中使用 ViewPager
。当我滑动到第 3 页并更改此页面上的一些内容(例如在 EditText
中编写文本)并返回到第 1 页,然后再次滑动到第 3 页时;更改已重置(文本已清除)。为什么?我该如何预防?
我正在使用此代码:
ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);
AddCostPagerAdapter adapter = new AddCostPagerAdapter(
getSupportFragmentManager());
tab.setAdapter(adapter);
AddCostPagerAdapter.class:
private class AddCostPagerAdapter extends FragmentStatePagerAdapter {
public AddCostPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
switch (arg0) {
case 0:
return new Page_1();
case 1:
return new page_2();
case 2:
return new page_3();
default:
return null;
}
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
}
试试这个:
在这行代码之后:
ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);
添加这个:
tab.setOffscreenPageLimit(3);