Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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 在页面滚动时更新ViewPager视图_Java_Android_Android Viewpager - Fatal编程技术网

Java 在页面滚动时更新ViewPager视图

Java 在页面滚动时更新ViewPager视图,java,android,android-viewpager,Java,Android,Android Viewpager,我的ViewPager有5个页面(我试图使其可重用),它的自定义PagerAdapter有一个带有视图的备份阵列,我在启动时首先添加(膨胀)它们,将当前页面设置为中间页面: 0 1 |2| 3 4 现在,在页面滚动中,我重复使用数组另一端的一个视图,并用新数据填充它(基于日历日期)-我将数组中的最后一个视图移动到开头,反之亦然,具体取决于滚动方向。然后我用新数据填充它 Reusing views: 4 0 |1| 2 3 or 1 2 |3| 4 0 and so on ... 我在Vie

我的ViewPager有5个页面(我试图使其可重用),它的自定义PagerAdapter有一个带有视图的备份阵列,我在启动时首先添加(膨胀)它们,将当前页面设置为中间页面:

0 1 |2| 3 4
现在,在页面滚动中,我重复使用数组另一端的一个视图,并用新数据填充它(基于日历日期)-我将数组中的最后一个视图移动到开头,反之亦然,具体取决于滚动方向。然后我用新数据填充它

Reusing views:
4 0 |1| 2 3 or 
1 2 |3| 4 0 and so on ...
我在
ViewPager.OnPageChangeListener
onPageSelected
中移动并更新可重用页面(此处为4或0),这会由于耗时的例程而导致短滚动动画冻结

这就是为什么我决定在一个单独的线程中执行所有慢代码,然后在页面调用视图的
post
方法中填充子视图。好的,它现在工作得更快了,但还是有点冷

问题是,如何正确地优化/实现这种场景,以实现平滑的动态分页