【问题标题】:How to hide the ListRow in Android Tv Leanback Library如何在 Android Tv Leanback 库中隐藏 ListRow
【发布时间】:2021-05-25 12:37:41
【问题描述】:

我是 android Leanback 的新手,我正在关注 google 示例来学习 Leanback 以构建 android 电视应用程序。我有以下问题:

假设我要从后端获取 附加图片 中标记的行的数据。如果数据为空,如何从 BrowseSupportFragment 中隐藏 Row。其余的行应该是可见的。如何在运行时的特定行上使用 View.GONE。

免责声明:我不拥有上面使用的图像。它是https://github.com/android/tv-samples 页面的属性,我将其用于学习目的。

【问题讨论】:

    标签: android android-tv leanback


    【解决方案1】:

    BrowseSupportFragment 中的内容来自ObjectAdapter。处理您所描述的更改的最佳方法是更新适配器的基础数据并调用 notifyItemRangeRemoved。适配器还具有 notifyItemRangeChanged、notifyItemMoved 和 notifyItemRangeInserted,用于数据发生变化(例如,您仍然有相同的节目,但缩略图可能已更改)、数据移动(例如,第一行移动到列表),或者有新数据(例如,在底部添加了一个全新的行)。

    使用 notify* 方法是处理更改的最佳方式,因为它们允许更有效的更新。在数据完全不同的情况下(或者您无法有意义地确定发生了什么变化),您可以为新的 ObjectAdapter 分配一组完全不同的数据。只知道这样做效率较低,并且可能导致 UI 出现卡顿/跳跃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      相关资源
      最近更新 更多