1

题外话:谢谢你的时间,对不起我的英语。

问题是刷卡时的延迟ViewPager

使用的配置是TabHost带有选项卡(和虚拟内容)的,ViewPager带有四个片段并FragmentPagerAdapter对其进行管理。

所有 4 个片段都有一个列表,其中一些在布局中带有其他小部件。事情是 2 个片段,或者这些片段中的 2 个列表非常重。列表项LinearLayout包含约 10 个加权项,其中包含一个CursorAdapter. 我知道这里存在着大问题,但我一直在努力寻找这个“百分比宽度”列表项的方法,但没有任何运气。

但是,经过一些日志后,我发现 3 个托管片段在每次滑动期间都“无效”。我的意思是“无效”,因为我看到的是每个列表绑定项目很多(很多)次。并且由于重新绘制了 3 个列表,包括我的 2 个重列表,因此出现了滞后。

我的代码还有两件事要指出:我正在使用光标加载器,我确定这不是娱乐的原因,因为滑动时不会出现加载器回调。在FragmentPagerAdapter.onPageSelected我只更新当前选项卡。

设置ViewPager.setOffScreenPageLimit(3) 以保持 4 个片段存活会使事情变得更糟。即使当我从片段 3 滑动到 4 时,第一个片段上的列表也会重新渲染,这是我真正不想要也不理解的。

我的解决方法是使用 将onPageSelected当前列表视图的可见性设置为 Visible,其他隐藏。通过这些方法,滞后消失了(比如说 95%),但我可以看到,当我在创建之前滚动空列表视图时。

我想问一下,如果我在某些时候错了,也许错过了一个重要的想法。如果有人有可能的解决方案,也许会避免那些娱乐(我不知道如何),或者,如果其他人也一样,并且没有办法解决它。

我将尝试寻找ViewPager源代码,但我刚刚打开了文件 woouu.. 我将尝试获得一个有此问题的测试项目。

非常感谢。

4

0 回答 0