我正在尝试从我的recyclerview中查询特定数据。我附加了一张图片,以显示recyclerview的项目是什么。我目前使用的是图片的嵌套子recyclerview,但是我不介意是否必须使用textview和stringbuilder。我一直在使用专注于MVVM的codelabs格式化数据访问。基本上,在该图像中,针对该特定练习,我将使用输入来查询相关的详细信息。
问题是,我正在尝试在recyclerview中查询数据以获取特定的练习详细信息,但我不知道如何操作。如您所见,存储库和会议室数据库需要一个应用程序来调用方法,但是我不知道如何在onBindViewHolder的recyclerview适配器中实现该功能。
LogAdapter.java
@Override
public void onBindViewHolder(@NonNull LogHolder holder, int position) {
LogEntity currentLog = getItem(position);
holder.tvExerciseName.setText(currentLog.getExerciseName());
long exerciseId = currentLog.getId();
// I want to use exercideId as a query
}
}
LogRepository.java
public LogRepository(Application application){
LogDatabase db = LogDatabase.getInstance(application);
logDao = db.logDao();
addTypeDao = db.addTypeDao();
}
...
public LiveData<List<AddRepsWeightsEntity>> getLogsRW(long id){
return addTypeDao.getLogsRW(id);
}
道
@Dao
public interface AddTypeDao {
//RW
@Insert
void insertRW(AddRepsWeightsEntity addRepsWeightsEntity);
@Update
void updateRW(AddRepsWeightsEntity addRepsWeightsEntity);
@Delete
void deleteRW(AddRepsWeightsEntity addRepsWeightsEntity);
@Query("SELECT * FROM AddRepsWeightsEntity WHERE logId = :logId ORDER BY id ASC")
LiveData<List<AddRepsWeightsEntity>> getLogsRW(long logId);
如果这不是一个很好的做法,那么如果有人提出更好的解决方案,我将不胜感激。我现在才学习android studio已有几周了,这是我唯一能想到的。谢谢!