Android viewpager,控制哪些视图重新渲染

Posted

技术标签:

【中文标题】Android viewpager,控制哪些视图重新渲染【英文标题】:Android viewpager, control which views to re-render 【发布时间】:2011-09-27 21:28:31 【问题描述】:

我的 viewpager 目前只重新渲染距离视觉可见两个视图的视图。

示例(分别显示)

ViewA, ViewB, CurrentView, ViewD, ViewE


not rendered, rendered, rendered, rendered, not rendered`

我将如何强制它重新加载特定视图 X 许多视图远离 currentView,有一些我想要它的用例场景,以及我不想要它的其他情况。但目前我只知道如何重新加载整个适配器 - 它可能从数组列表中提取

我真的不知道如何控制 Viewpager - 那里的例子很少。我所知道的就是重置“notifyDataSetChanged”上的整个列表

见识见识

【问题讨论】:

【参考方案1】:

使用这个方法mViewPager.setOffscreenPageLimit(2)可以设置离屏页面的限制

【讨论】:

【参考方案2】:

我认为您也需要将视图和数据逻辑解耦(在这种情况下是数组列表?)。如果您不想更改视图,请不要更改数据层。当您调用 notifyDataSetChanged 时,一切都会模仿您的数据层。如果要更改视图,请更改数据层并调用 notifyDataSetChanged。

简单地说,视图只是绘制数据告诉它的内容,并期望视图可以随时更新。它与 listview 的工作方式非常相似。

【讨论】:

以上是关于Android viewpager,控制哪些视图重新渲染的主要内容,如果未能解决你的问题,请参考以下文章

Android viewpager......如何获取视图?

Android ViewPager组件

Android Viewpager保存数据和视图

如何在 Android 中为 ViewPager 添加点?

Android安卓viewpager和Fragment的结合,多个Fragment视图之间切换等运用

ViewPager留出边 显示左右两边的视图