【问题标题】:Some questions about Room and Paging Library关于 Room 和 Paging Library 的一些问题
【发布时间】:2017-10-24 19:54:44
【问题描述】:

我正在尝试使用Room Persistance LibraryPaging Library 设置我的所有列表,但在实施PagedListAdapter 时遇到了一些问题。

问题 1

我不想在onBindViewHolder 中写任何ifwhen... 条件,因此滚动完全流畅。我有一个带有属性的模型。例如,我想根据模型的Boolean 设置布局内部的view 的可见性(如TextView),但我不想使用if。实现这一目标的正确方法是什么?

我应该在具有View.VISIBLEView.GONE 的模型中创建Int 属性吗?但随后模型会变得非常复杂,包含大量属性,并且所有属性都在 Room 数据库的所有模型对象上。

我是否应该创建另一个仅具有适配器 UI 所需属性的模型?但是每次修改真实模型时,我也必须修改适配器模型才能看到 UI 上的变化。而且我认为这根本不好。

你知道在PagedListAdapter中是否有我可以异步做到这一点的地方吗?

问题 2

我需要使用像getString(R.string.resource) 这样的函数,这需要context。我还需要使用Glide 将图像加载到ImageView,但它需要Activity contextFragment context。我试图用匕首注入它,但那是不可能的。通过构造函数传递该上下文是否安全?或者最好的方法是什么? (我想同样的问题发生在实现RecyclerViewAdapter

【问题讨论】:

    标签: android mvvm android-room android-architecture-components


    【解决方案1】:
    1. 在我研究过的应用程序中,我有一个保存当前播放器状态的表格。我在多选查询中使用此表,因此当我更改此表时,Paging library 将更改我的数据源。 Example app
    2. 我使用来自View 实例的Context 实例和方法View.getContext()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 2016-09-07
      • 1970-01-01
      相关资源
      最近更新 更多