Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 为什么第一页上的ViewPager会重置其他页面数据?_Android_Android Viewpager - Fatal编程技术网

Android 为什么第一页上的ViewPager会重置其他页面数据?

Android 为什么第一页上的ViewPager会重置其他页面数据?,android,android-viewpager,Android,Android Viewpager,我正在应用程序中使用ViewPager。当我滑动到第3页并更改此页上的某些内容时,如在EditText中写入文本,然后返回到第1页,然后再次滑动到第3页;更改已重置,文本已清除。为什么?我怎样才能预防呢 我正在使用以下代码: ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager); AddCostPagerAdapter adapter = new AddCostPagerAdapter(

我正在应用程序中使用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 tab = (ViewPager) findViewById(R.id.add_cost_pager);
添加以下内容:

tab.setOffscreenPageLimit(3);

您需要添加更多信息或一些代码。@Mush先生添加了代码。您需要添加更多信息或一些代码。@Mush先生添加了代码。