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);
、アダプターのremoveメソッド内でいわゆる「removeItem」を入れて。
アニメーションを表示してリストに新しく実際に存在しないアイテムが表示されないようにするにはどうすればよいですか?
ありがとうございました!