Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/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
Java 从ViewPagerIndicator保存数据_Java_Android - Fatal编程技术网

Java 从ViewPagerIndicator保存数据

Java 从ViewPagerIndicator保存数据,java,android,Java,Android,我一直在到处寻找,但我找不到任何答案。我的应用程序中有ViewPagerIndicator,但我根本找不到任何说明如何使用3个以上页面的教程。我想用6页。我可以正确显示6页,但当我在第0页输入数据时,它会在我切换到第3页后消失(正在回收?)。我已经阅读了ViewPagerIndicator.java,但老实说,目前大部分内容都有点让我不知所措。当切换到第3页时,我需要做什么来保存第0页上的数据。有人能给我举个例子吗。另外,当刷回第0页时,我使用什么来恢复数据 免责声明:我对Java和Androi

我一直在到处寻找,但我找不到任何答案。我的应用程序中有ViewPagerIndicator,但我根本找不到任何说明如何使用3个以上页面的教程。我想用6页。我可以正确显示6页,但当我在第0页输入数据时,它会在我切换到第3页后消失(正在回收?)。我已经阅读了ViewPagerIndicator.java,但老实说,目前大部分内容都有点让我不知所措。当切换到第3页时,我需要做什么来保存第0页上的数据。有人能给我举个例子吗。另外,当刷回第0页时,我使用什么来恢复数据

免责声明:我对Java和Android开发都非常陌生;这是我的第一个应用程序


提前感谢任何人提供的指导。

回答您的问题:

  • 要显示>3页,例如6页,您只需在ViewPager上添加6页,ViewPagerIndicator将自动更新以显示6个圆圈(指示器)

  • 为了保存数据,我建议设置一个类似于这里提到的onPageChangeListener

  • 您可以定义在滚动页面时要执行的任何操作或其他任何操作

        mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                Toast.makeText(SampleCirclesWithListener.this, "Changed to page " + position, Toast.LENGTH_SHORT).show();
            }
    
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                //save the data here
            }
    
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });
    

    您应该使用ViewPager.setOffscreenPageLimit(5)。这将允许您在内存中有1个屏幕上的页面和5个屏幕下的页面。默认值为1,这就是为什么在进入第3页时会看到第0页被删除的原因


    或者,您可以实现InstanceItem以创建/加载每个页面,并销毁Item以将每个页面保存在PagerAdapter中,如setOffscreenPageLimit中所述。谢谢我将阅读创建/加载解决方案以供将来参考。当我通过导航阶段并开始保存输入的数据时,这看起来会变得更有用。我对Android和Java还是那么陌生,以至于我一直在努力获得流畅的导航和外观。