【发布时间】:2021-08-26 08:14:13
【问题描述】:
我想使用房间库为新闻应用程序实现用户最喜欢的新闻列表,但应用程序崩溃
感谢您的帮助(:
数据库:
我无法输入代码,我使用了照片: enter image description here
道:
@Dao
public interface DataDao {
@Insert
void insert_list_fav(FavModel favModel);
@Delete
void delete_fav(FavModel favModel);
@Query("SELECT * FROM tbl_fav")
LiveData<List<FavModel>> getFavList();
@Query("SELECT EXISTS (SELECT 1 FROM tbl_fav WHERE id=:id)")
int isFav(int id);
}
适配器新闻:
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
LastNewsModel model= dataModels.get(position);
///////It is added to the list here
holder.save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FavModel favModel=new FavModel();
int id=model.getId();
String title=model.getTitle();
String desc=model.getDescription();
String pic=model.getPic();
String date=model.getDate();
favModel.setId(id);
favModel.setTitle(title);
favModel.setDate(date);
favModel.setDescription(desc);
favModel.setPic(pic);
if (DataBase.getDataBase(context).getDao().isFav(id)!=1){
holder.save.setImageResource(R.drawable.ic_saved);
DataBase.getDataBase(context).getDao().insert_list_fav(favModel);
}else {
holder.save.setImageResource(R.drawable.ic_save);
DataBase.getDataBase(context).getDao().delete_fav(favModel);
}
}
});
}
错误:
【问题讨论】:
标签: java android-studio android-sqlite android-room