如何解决如何在 Android 电视 Leanback 库中隐藏 ListRow
我是 android Leanback 的新手,我正在按照谷歌示例学习 Leanback 来构建 android 电视应用程序。我有以下问题:
假设我从后端获取附加图像中标记的行的数据。如果数据为空,如何在 browseSupportFragment 中隐藏 Row。其余的行应该是可见的。如何在运行时在特定行上使用 View.GONE。
免责声明:我不拥有我在上面使用的图像。它是 https://github.com/android/tv-samples 页面的属性,我将其用于学习目的。
解决方法
BrowseSupportFragment 中的内容来自 ObjectAdapter。处理您所描述的更改的最佳方法是更新适配器的基础数据并调用 notifyItemRangeRemoved。该适配器还具有 notifyItemRangeChanged、notifyItemMoved 和 notifyItemRangeInserted 用于在数据更改(例如,您仍然有相同的节目但可能缩略图已更改)、数据移动(例如,第一行移动到底部列表),或者有新数据(例如,在底部添加了一个全新的行)。
使用 notify* 方法是处理更改的最佳方式,因为它们允许更有效的更新。如果数据完全不同(或者您无法有意义地确定发生了什么变化),您可以为新的 ObjectAdapter 分配完全不同的数据集。请注意,这样做效率较低,并且可能导致 UI 卡顿/跳跃。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。