我有以下代码:
private void onAddClick(){
String title = mTitleEdit.getText().toString();
String body = mBodyEdit.getText().toString();
Note note = new Note();
note.setTitle(title);
note.setBody(body);
noteDao.insertNote(note);
notes = noteDao.getNotes();
adapter = new RecyclerViewAdapter(notes, getApplicationContext());
mNotesRecycler.setAdapter(adapter);
}
因此,这段代码应该将数据添加到数据库,选择它并添加到适配器后,然后将此适配器添加到recyclerview
。但数据不是从数据库中选择的,因此 note
数组始终为空,我不明白为什么。表 Note
有数据(我在 Stetho
中观看)。所以,据我了解,选择存在问题。
DAO接口(interface)的方法如下:
@Query ("SELECT * FROM NOTE")
List<Note> getNotes();
@Insert (onConflict = OnConflictStrategy.REPLACE)
void insertNote(Note note);
那么,这是怎么回事?
最佳答案
获取数据后您是否尝试过使用adapter.notifyDataSetChanged()
?
关于java - 未从具有 Room 的数据库中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245187/