Activity
에 Fragment
이 있습니다. 해당 조각에는 RecyclerView
및 RecyclerViewAdapter
이 있습니다. 조각의 onCreate
에서RecyccyClerViewAdapter 데이터를 작업 레크 리 에이션으로 유지하십시오.
나는이 일을 해요 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("TAGGG", "onCreate: ");
// Database handler
Contract.DbHelper dbHelper = new Contract.DbHelper(getContext());
dERecyclerViewAdapter.setEntries(dbHelper.readAllEntries());
}
Activity
가 재 작성됩니다 매번 (최대 탐색, 회전 변경) 데이터가 데이터베이스에서 다시 읽어되고있다. 올바른 저장 방법은 무엇입니까?
를 사용하여 별도의 싱글 톤 클래스를 참조 싱글 클래스에서 그것을 얻을이 활동 휴양에 목록을 저장합니다. –
onRestoreInstanceState() 및 onSaveInstanceState() 메서드를 사용하여 구성 변경에 대한 데이터를 저장할 수 있습니다. 그리고 단편 대신에 새로운 단편을 교체하는 대신 스택에 추가하면 이전 단편 상태가 유지됩니다. – bindal
싱글 톤 클래스가 유혹에 빠졌지 만 변경 사항을 전파해야합니다. 3 곳 : db, 어댑터 및 싱글 톤 클래스. @bindal 하지만 필자의 목록 개체에는 필드가 많아서 parcellable을 만들면 지옥이 될 수 있습니다. – justmatt