gpt4 book ai didi

android - 使用来自两个数据库表的数据填充 RecyclerView Item

转载 作者:搜寻专家 更新时间:2023-10-30 23:27:39 25 4
gpt4 key购买 nike

我正在创建一个应用程序,用户可以在其中为您拥有的特定 Assets (比特币、莱特币、银行账户等)注册一组收入和支出,您必须为这些 Assets 中的每一个创建一个账户。现在,我为每个帐户都有一个 cardView,您可以在其中查看当月的余额。我需要使用帐户表和记录(收入和支出)表中的数据在 RecyclerView 适配器中填充这张卡片。这是一张图片:

Account CardView

我能做什么?

我正在使用 Room 库、LiveData 和 ViewModel 组件。

最佳答案

如果可以连接帐户、收入和支出表,则可以通过创建包含结果表列的数据类来解决问题。如果存在具有相同名称的列,请在查询中重命名它们并将所需的字段添加到数据类。

这是一个示例,其中我有一个问题表,其中可能有很多答案,但出于某些原因,我需要在回收 View 中显示带有问题标题的答案,因此出于这个原因,我将子表与其父表连接起来。

@Dao
interface EvaluationDao {


@Query("select EVALUATION.*,QUESTION.BRIEF_DESCRIPTION,QUESTION.BRIEF_DESCRIPTION_ENG ,QUESTION.CATEGORY_ID,QUESTION.ID AS Q_ID ,QUESTION.HELP_LINK ,QUESTION.QUESTION_TITLE,QUESTION.QUESTION_TITLE_ENG ,QUESTION.WEIGHT from EVALUATION INNER join QUESTION on QUESTION.ID= EVALUATION.QUESTION_ID where EVALUATION.CLINICAL_UNIT_ID = :unitId AND QUESTION.CATEGORY_ID IN (select QUESTION_CATEGORY.ID from QUESTION_CATEGORY where QUESTION_CATEGORY.MODULE_NAME = :moduleName) order by QUESTION.QUESTION_TITLE_ENG")
fun getEvaluations4CinicalUnits(moduleName: String, unitId: String): Flowable<List<EvaluationWithQuestion>>
}

这是等价的数据类

@Parcelize
class EvaluationWithQuestion() : Parcelable {

@Embedded
var evaluation: Evaluation? = null

@ColumnInfo(name = "CATEGORY_ID")
var categoryId: Int = -1

@ColumnInfo(name = "QUESTION_TITLE")
var questionTitleFa: String = ""

@ColumnInfo(name = "QUESTION_TITLE_ENG")
var questionTitleEn: String = ""

@ColumnInfo(name = "HELP_LINK")
var helpLink: String = ""

@ColumnInfo(name = "WEIGHT", typeAffinity = ColumnInfo.REAL)
var weight: Double? = null

@ColumnInfo(name = "BRIEF_DESCRIPTION")
var briefDescriptionEn: String? = null

@ColumnInfo(name = "BRIEF_DESCRIPTION_ENG")
var briefDescriptionFa: String? = null

@ColumnInfo(name = "Q_ID")
var questionId: Int = -1

@Ignore
var rowNum: Int = -1
}

关于android - 使用来自两个数据库表的数据填充 RecyclerView Item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54373048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com