2017-10-24 13 views
0

RecycleView에서 항목을 업데이트하는 데 문제가 있습니다. 꿈의 개체를 편집하려고 할 때 데이터베이스에 업데이트되지만 dream의 목록에는 업데이트되지 않고 이유를 모르겠습니다.RecyclerView의 개체 업데이트

이 메서드는 dream 개체를 만들고 업데이트합니다. 당신이

희망 목록에 값을 추가 할 때마다

@OnClick({R.id.addTagDream, R.id.saveDreamButton}) 
    public void onViewClicked(View view) { 
     switch (view.getId()) { 
      case R.id.addTagDream: 
       Intent intent = new Intent(AddEditDreamActivity.this, SelectDreamActivity.class); 
       startActivityForResult(intent, SELECTED_DREAM); 
       break; 
      case R.id.saveDreamButton: 
       boolean hasError = false; 
... 

        if (!hasError) { 
    // check if exit dream about id 
         try { 
          myDreamList = myDreamDao.queryForEq(MyDream.Columns.MY_DREAM_ID, dreamId); 
         } catch (SQLException e) { 
          e.printStackTrace(); 
         } 
    chcek if dream exist 
         if (myDreamList != null && !myDreamList.isEmpty()) { 

          // update dream 

          UpdateBuilder<MyDream, ?> updateMyDream = myDreamDao.updateBuilder(); 


// condition update dream about dream id 

          try { 
           updateMyDream.where().eq(MyDream.Columns.MY_DREAM_ID, dreamId); 
          } catch (SQLException e) { 
           e.printStackTrace(); 
          } 
    // update column title dream 
          try { 
           updateMyDream.updateColumnValue(MyDream.Columns.TITLE_DREAM, dreamTitle); 
          } catch (SQLException e) { 
           e.printStackTrace(); 
          } 
    // update dream description 
          try { 
           updateMyDream.updateColumnValue(MyDream.Columns.DESCRIPTION, dreamDescription); 
          } catch (SQLException e) { 
           e.printStackTrace(); 
          } 
    // update dream symbol 
          try { 
           updateMyDream.updateColumnValue(MyDream.Columns.SYMBOL_DREAM, selectSymbolDream); 
          } catch (SQLException e) { 
           e.printStackTrace(); 
          } 

          try { 
           updateMyDream.update(); 
          } catch (SQLException e) { 
           e.printStackTrace(); 
          } 

          finish(); 
         } 
        } 
        break; 
      } 
     } 
+0

귀하의 경우 "꿈"이란 무엇입니까? 또한,이 게시물에서 문법 작업이 필요합니다. 네가 영어 원어민이 아닌 경우 문법을 사용하는 것이 좋습니다. –

+1

개체가 데이터베이스에 저장되었으므로 사용자가 목록을 새로 고치려는 것을 나타내는 작업을 설정해야합니다. 그가 새로 고침 할 때 RecyclerView를 채우려는 목록을 업데이트 한 다음'mAdapter.notifyDataSetChanged()'를 호출하십시오. –

+1

[RecyclerView 어댑터 데이터를 업데이트하는 방법] (https://stackoverflow.com/questions/)과 중복 될 수 있습니다. 31367599/how-to-update-recyclerview-adapter-data) –

답변

1

가 사용 adapter.notifyDataSetChanged()or notifyItemInserted()이 당신에게 도움이 될 것입니다

+0

나는 꿈을 수정해야합니다. – Programmer1993