我正在尝试将一个对象插入到我的房间数据库中,但似乎只插入了主键。当我尝试访问它们时,附加的字符串列表和整数列表都是空的。实体@Entitypublic class DayMenu{@PrimaryKey @NonNullprivate String dayDate;@TypeConverters(IntegerConverter.class)private List<Integer> dayRecipesID;@TypeConverters(StringConverter.class)private List<String> dayRecipesTitle;道@Daopublic interface DayMenuDao {@Insert(onConflict = OnConflictStrategy.REPLACE)void insertDayMenu(DayMenu dayMenu);@Query("select * from DayMenu")List<DayMenu> getAll();@Query("select * from DayMenu")LiveData<List<DayMenu>> getAllLD();@Query("select dayDate from DayMenu where DayMenu.dayDate = :day_date")DayMenu getFromDate(String day_date);}当我查看 dayMenu(如下)时,它会在我将它发送到插入之前,将有两个包含正确数据的列表。但是,当我调用 getAll()、getAllLD() 或 getFromDate() 时,该信息要么未插入,要么未恢复。主要活动 btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (etDate.getText().length() != 0) { String currentDate = etDate.getText().toString(); DayMenu dayMenu = new DayMenu(); dayMenu.setDayDate(currentDate); List<Integer> recIDs = new ArrayList<>(); List<String> recTits = new ArrayList<>(); StringBuilder sb = new StringBuilder(); int childCount = linearLayoutParent.getChildCount(); if (childCount > 1) { for (int i = 0; i < childCount - 1; i++) { View linearLayoutChild = linearLayoutParent.getChildAt(i); ViewGroup lLC = (ViewGroup) linearLayoutChild; Button recipeButton = (Button) lLC.getChildAt(0); recIDs.add(Integer.parseInt(recipeButton.getTag().toString())); recTits.add(recipeButton.getText().toString()); }这将显示保存到数据库的日期,我已经能够使用其他方法查看日期。但是,当我尝试访问 recipeIds 和 titles 时,列表为空。我不太确定出了什么问题,似乎 insertDayMenu 只是插入实体主键。
添加回答
举报
0/150
提交
取消