Я пытаюсь реализовать элемент delete в поддерживаемом Realm ReceyclerView. Когда пользователь выбирает элемент в RecyclerView, я беру пользователя в другое действие, где им предоставляется возможность удалить выбранный элемент. Если пользователь удалит элемент, я хочу, чтобы они вернулись к предыдущему действию.Realm backed RecyclerView, отображающий нулевые данные
Однако, когда они возвращаются к предыдущему действию, удаленный элемент все еще отображается, даже если он теперь равен нулю. Я использовал как собственный RecyclerView, так и RealmRecyclerView без успеха.
В MainActivity я начинаю подробно активность как этот
public void showNoteDetailUi(int noteId) {
Intent intent = new Intent(this, NoteDetailActivity.class);
intent.putExtra("noteId", noteId);
startActivity(intent);
}
А на деталь деятельности, я удалить элемент, как этот
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id){
case R.id.action_delete:
mRealm.beginTransaction();
Note note = getNote(id);
note.removeFromRealm();
mRealm.commitTransaction();
onBackPressed();
break;
}
return super.onOptionsItemSelected(item);
}
Я определил мои методы CRUD в отдельном файле, который я называю NoteManager, вот некоторые из содержимого этого NoteManager, который показывает, как я получаю список элементов из Realm.
public class NoteRealmManager implements NotesContract.Service{
private Realm mRealm;
public NoteRealmManager(Context context){
mRealm = Realm.getInstance(context);
}
@Override
public void delete(int id) {
mRealm.beginTransaction();
Note note = getNote(id);
note.removeFromRealm();
mRealm.commitTransaction();
}
@Override
public RealmResults<Note> getAllNotes() {
mRealm.refresh();
RealmResults<Note> noteModels =
mRealm.where(Note.class).findAll();
return noteModels;
}
}
И я инъекционного этот класс для каждого вида деятельности, как это
@Module
public class PersistenceModule {
@Provides @Singleton
public NotesContract.Service providesNoteManager(Context context){
return new NoteRealmManager(context);
}
}
И
@Inject NotesContract.Service mNoteManager
Я пытался обновить список, любая идея, как я могу сделать Realm не показывать нулевые данные в RecyclerView?
Благодаря