Изображение структуры БД
В настоящее время я создал метод обновления книги с помощью Firestore.Я пытаюсь вызвать этот метод в onOptionsItemSelected.
Я относительно новичок в Android и у меня всегда было впечатление, что при вызове этого метода я бы назвал его updateBook (Книга книг).
Ниже приведен мой метод updateBook
@Override
public void updateBook(Book book) {
String chapterName = editTextChapterName.getText().toString().trim();
String chapterInfo = editTextChapterInfo.getText().toString().trim();
int chapterNumber = numberPickerChapterNumber.getValue();
if (chapterName.trim().isEmpty() || chapterInfo.trim().isEmpty()) { //ensure that user has not left boxes empty
Toast.makeText(this, "Please add a chapter name and the chapter information", Toast.LENGTH_SHORT).show();
}
FirebaseFirestore db = FirebaseFirestore.getInstance();
DocumentReference bookRef = db.collection("Book")
.document();
bookRef.update("chapterName", book.getChapterName(),
"chapterInfo", book.getChapterInfo(),"chapterNumber", book.getChapterNumber())
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Toast.makeText(AdminUpdateActivity.this, "Success", Toast.LENGTH_SHORT).show();
}
}
});
Ниже я пытаюсь вызвать мой метод
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save_icon:
updateBook();
return true;
default:
return super.onOptionsItemSelected(item);
}
В скобках updateBook я получаю сообщение об ошибке «Не удается применить к ()».
Я прочиталдругие вопросы здесь, чтобы сделать с этой темой, но не нашли решение.Может кто-нибудь объяснить, как решить эту проблему и почему?
Спасибо