为什么ViewPager在第一页重置其他页面数据?

时间:2015-01-27 20:08:46

标签: android android-viewpager

我在我的应用中使用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;
    }

}

1 个答案:

答案 0 :(得分:5)

试试这个:

在这行代码之后:

ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);

添加:

tab.setOffscreenPageLimit(3);