0

我需要有关如何从 RecyclerView 适配器onBindViewHolder()方法从数据库中获取数据或任何最佳方法的建议。基本上,我有一个TransactionsViewHolder 循环的列表,其中包含一个名为 的相关实体的 ID Payee,我可以通过访问Transaction'sgetPayeeByID方法获得该 ID。(该方法已经存在以提取存储库和 Dao 中的信息并且工作正常。)问题是,我如何从该屏幕访问该方法?我需要知道如何从这里获取它,以便我可以Payee基于拉取创建一个新的PayeeId,以便设置holder.payee.setText具有关联名称的字段Payee。我不知道如何从这里做到这一点。

 @Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

    final Transaction transaction = tTransactions.get(holder.getAdapterPosition());


   holder.payee.setText( ????????? ) ;        
   holder.date.setText(date);
   holder.transAmount.setText(amount);

如果需要,我很乐意添加更多代码。

4

1 回答 1

0

我意识到了这个问题的解决方案。我刚刚创建了一个存储库实例并通过它访问了数据库。见下文:

 AppRepository repository = new AppRepository(tContext);

 final Payee payee = repository.getPayeeById(transaction.getPayeeId());

 holder.payee.setText(payee.getName());
于 2021-06-24T21:14:46.493 回答