У меня возникла проблема при удалении элемента из RecyclerView (связанного с SQLite db). После успешного удаления элемента он отображает анимацию, а затем элемент снова появляется внизу (с причудливой анимацией тоже). Когда я проверяю базу данных, она фактически удаляет строку.RecyclerView добавляет нежелательный элемент при удалении
Я мог бы решить эту проблему, создав адаптер снова каждый раз, когда я удаляю элемент, но потом анимация исчезла.
Вот мой код:
Метод адаптера:
public void removeItem(int position){
db = new DBAdapter(context);
db.open();
mCursorAdapter.getCursor().moveToPosition(position);
int idnota = mCursorAdapter.getCursor().getInt(0);
db.borra_nota(idnota); //it deletes the row (delete_note)
db.close();
}
Внутри моей основной деятельности:
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//if (direction == ItemTouchHelper.LEFT) {
listAdapter.removeItem(position);
listAdapter.notifyItemRangeChanged(position, listAdapter.getItemCount());
listAdapter.notifyItemRemoved(position);
Мой исходный раствор (но без анимации) выглядели как является:
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
sticky = (RecyclerView) findViewById(R.id.lista_notas);
linearLayoutManager = new LinearLayoutManager(MainActivity.this);
sticky.setLayoutManager(linearLayoutManager);
listAdapter = new ListAdapter(MainActivity.this);
sticky.setAdapter(listAdapter);
Конечно, поставив «RemoveItem» и так внутри метода удалить адаптера.
Любое представление о том, как показать анимацию, предотвращающую список, чтобы показать новый и фактически неистребимый элемент?
Спасибо!