Это на самом деле вопрос из моего последнего сообщения Android База данных комнаты, получить конкретное значение c значение последней введенной записи
Я использовал запрос, предложенный тем, кто ответил мой вопрос был
@Query("SELECT * FROM newRecord_table WHERE newRecord_table.studentid = :studentId ORDER BY newRecord_table.date, newRecord_table.page DESC ")
LiveData<List<NewRecord>> findLastPage(Integer studentId);
, но он не работает в моем случае, тогда я использовал другой запрос
@Query("SELECT * FROM newRecord_table ORDER BY cast (jadPage as integer) DESC LIMIT 1")
LiveData<List<NewRecord>> findJadpage();
при использовании запроса выше с кодом ниже
selectStudentName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(final AdapterView<?> adapterView, View view, final int position, final long l) {
String name = adapterView.getItemAtPosition(position).toString();
recordIds = studentViewModel.getAllStudents().getValue().get(position).getId();
// System.out.println("STUDENT ID: " + recordIds);
//
// final int list1 = newRecordViewModel.getAllRecords().getValue().get(position).getId();
// System.out.println("LIST ID: " + list1);
newRecordViewModel.getJadRecord().observe(AddRecord.this, new Observer<List<NewRecord>>() {
@Override
public void onChanged(List<NewRecord> newRecords) {
// logic to get jad page..
String page = newRecords.get(position).getJadPage();
jadPage.setText(newRecords.get(id).getJadPage(), TextView.BufferType.EDITABLE);
}
});
}
}
ниже находится хранилище
public class NewRecordRepository {
private NewRecordDAO newRecordDAO;
private StudentDAO studentDAO;
private LiveData<List<NewRecord>> jadeedRecord;
public NewRecordRepository(Application application) {
StudentDatabase database = StudentDatabase.getInstance(application);
newRecordDAO = database.newRecordDAO();
studentDAO = database.studentDAO();
jadRecord = newRecordDAO.findJadpage();
}
public LiveData<List<NewRecord>> getJadRecord() {
return jadRecord;
}
но я получаю java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
Я не знаю, как решить эту проблему, я искал net, нашел много решений, но это действительно так не вписывается в мой сценарий. Пожалуйста, помогите .. спасибо!