2017-11-22 10 views
1

로컬 파일 경로가있는 배열을 좀 더 정확하게 (onRestoreInstanceState에) 복원하려고합니다. 이 배열은 (지역) 이미지를 보여주기 위해 내 어댑터가 사용됩니다onRestoreInstanceState()에서 RecyclerView 새로 고침이 작동하지 않습니다.

@Override 
    protected void onRestoreInstanceState(Bundle savedInstanceState) { 

     .... 

     mPicturesList = savedInstanceState.getParcelableArrayList(BUNDLE_KEY_INPUT_FILE_PATH); 

     if (mPicturesList != null && mPicturesList.size() > 0) { 
      // Refresh list 
      mItemPostPictureAdapter.notifyDataSetChanged(); 
     }    

     super.onRestoreInstanceState(savedInstanceState); 
    } 

불행하게도 내 목록은 여기에서 새로 고침되지 않습니다, 나는 이유를 알고하지 않습니다. 어댑터에 중단 점을 넣었습니다. 여기서는 절대로 호출하지 않습니다.

정상적인 과정에서 새로 고침 목록이 완벽하게 작동,하지만 onRestoreInstanceState() 함수는 ...

+0

배열을 복원하는 중이지만 어댑터로 다시 전달하는 것을 볼 수 없으므로'notifyDataSetChange'는 아무 것도하지 않습니다. 또한 어댑터 코드를 게시하는 것이 좋습니다. – Enzokie

답변

-1

뷰의 의견이 android:id 속성 집합이있는 경우 자동으로 호출되어 자신의 복원 방법이있다. 목록보기 (예 : 재활용 또는 목록보기)는 스크롤 위치를 복원 할 수 있지만 어댑터는 복원 할 수 없습니다.

따라서 어댑터를 다시 만들고 해당 내용으로 채우고 RecyclerView를 설정해야합니다.