0

다음은 왼쪽 또는 오른쪽으로 스 와이프 할 때 항목 삭제에 사용한 코드입니다. 이제 문제는 스누커에 UNDO 버튼을 넣는 것입니다. 내가 데이터베이스에서 항목을 삭제할 때 슬쩍 할 때, UNDO를 클릭 할 때 이동하는 방법? UNDO를 누르면 축소 된 항목이 다시 나타납니다.스 클리프에서 recyclerview에 대한 삭제 문제

if (direction == ItemTouchHelper.LEFT){ 
       //adapterr.removeItem(position); 
       Snackbar snackbar = Snackbar 
         .make(recyclerView, "1 Song deleted", Snackbar.LENGTH_LONG) 
         .setAction("UNDO", new View.OnClickListener() { 
          @Override 
          public void onClick(View view) { 
           /* Snackbar snackbar1 = Snackbar.make(recyclerView, "", Snackbar.LENGTH_SHORT); 
           snackbar1.show();*/ 

          } 
         }); 

       snackbar.show(); 
       openDatabase(); 
       String whereClause = QueueDatabase.KEY_ID + " = " + queuee.get(position).getId(); 
       String[] whereArgs = null; 
       db.delete(QueueDatabase.TABLE_QUEUE,whereClause,null); 
       queuee.remove(position); 
       adapterr.notifyItemRemoved(position); 
       Toast.makeText(QueueActivity.this, "removed", Toast.LENGTH_SHORT).show(); 
      } 
      else { 
       Snackbar snackbar = Snackbar 
         .make(recyclerView, "1 Song deleted", Snackbar.LENGTH_LONG) 
         .setAction("UNDO", new View.OnClickListener() { 
          @Override 
          public void onClick(View view) { 
           /* Snackbar snackbar1 = Snackbar.make(recyclerView, "", Snackbar.LENGTH_SHORT); 
           snackbar1.show();*/ 

          } 
         }); 

       snackbar.show(); 
       openDatabase(); 
       String whereClause = QueueDatabase.KEY_ID + " = " + queuee.get(position).getId(); 
       String[] whereArgs = null; 
       db.delete(QueueDatabase.TABLE_QUEUE,whereClause,null); 
       queuee.remove(position); 
       adapterr.notifyItemRemoved(position); 
       Toast.makeText(QueueActivity.this, "removed", Toast.LENGTH_SHORT).show(); 
      } 

큐는 데이터베이스에서 모든 데이터를 수집하고 나중에 리사이클 러 뷰를 채우는 데 사용되는 배열 목록입니다. 도와주세요, 감사합니다

삭제 된 항목 &의 클릭에 같은 위치에

int deletedPosition = position; 
    YourItemType DeletedItem = YourList.get(position); 

삽입 항목과 같은 다른 변수의 위치의

답변

0

테이크 사본

YourList.add(deletedPosition, DeletedItem); 
    YourAdapter.notifyItemInserted(deletedPosition); 

취소 나 어댑터에이 코드를 넣어 .

+0

제가 먼저 시도해 봅시다, 그것이 작동한다면 나는 확실히 upvote 것입니다 – Androidss