ViewPager 特定版本中的 Settext 问题 - 5.1.1 android?

Posted

技术标签:

【中文标题】ViewPager 特定版本中的 Settext 问题 - 5.1.1 android?【英文标题】:Settext issue in ViewPager particular version - 5.1.1 android? 【发布时间】:2016-06-18 00:02:42 【问题描述】:

我正在使用 Custom ViewPager 构建 android 应用程序。下面按以下步骤解释问题:

    当我打开 ViewPager 的新活动并单击任何按钮并为其设置任何特定值时。它工作正常。 当我左右滑动然后单击按钮以在特定 TextView 上设置文本时出现问题;该值被设置,因为我可以使用 getText 来敬酒 TextView 的值。但是 UI 中的值不会改变。例如 - 我滑动任何页面,现在 TextView 包含我的当前位置为 2。如果我单击按钮并尝试执行 setText(position++) 并敬酒值,则增加的值会显示在敬酒中 但 TextView 仍然显示 2。

此问题在 5.1.1 中尤为突出。

【问题讨论】:

听起来 TextView 只是没有更新新值——你能发布一些代码进行分析吗? 【参考方案1】:

我也和这个人战斗了好几个小时。最好我能确定 ViewPager 真的是为单个视图设计的,它在第一次出现后没有任何变化(它隐藏了 SetView 停止工作的错误)。把它想象成在一本书中显示固定的页面。

如果您在 Fragment 中有一个适配器(在我的例子中是 CursorAdapter),您可以在更新后使用适配器上的 notifyDataSetChanged() 来更新它。这仍然不能解决 setText 在第一次呈现页面后被忽略的问题。 另一种解决方案可能是使用带有活动而不是片段的操作选项卡,但这已被贬低。仍在寻找更好的解决方案。

【讨论】:

以上是关于ViewPager 特定版本中的 Settext 问题 - 5.1.1 android?的主要内容,如果未能解决你的问题,请参考以下文章

从 ViewPager Activity 访问 Fragment 的方法

android tablayout 与viewpager联动 怎样显示tab标题

从ViewPager android替换片段

ViewPager OnPageSelected()或OnPageShow()中的片段?

ViewPager Activity 通知特定事件的 Fragment

如何知道何时显示布局中的特定视图在RecyclerView中