같은 Loader 객체가 다른 매개 변수를 전송할 때 데이터베이스에서 질의하는 결과는 항상 동일합니다.

827 단어 android
문제점 발견:
LoaderManager().initLoader () 메서드 호출 시 첫 번째 매개변수 ID에 따라 Loader 로더가 이미 있는지 여부를 판단합니다. 존재하면 다시
사용, 존재하지 않으면 새 마운트를 만듭니다.내가 처음으로 Loader를 세웠기 때문에 두 번째로 이 방법을 호출할 때 시스템은
새 매개변수로 새 Loader를 구성하는 대신 이전 Loader 객체로 직접 로드하는 로더가 이미 존재합니다. 결과는 첫 번째와 같습니다.
다음의 결과는 같다.
해결 방법:
Loader에 새 매개변수를 전달해야 할 때 질의에는 Loader Manager()를 사용해야 합니다.restartLoader () 방법입니다.질의를 위해 매개 변수를 다시 전송합니다.
참조:
Per LoaderManager.initLoader():
Ensures a loader is initialized and active. If the loader doesn't already exist, one is created and (if the activity/fragment is currently started) starts the loader. Otherwise the last created loader is re-used.
Use  restartLoader  to restart the loader with new arguments. http://stackoverflow.com/questions/19099260/android-loader-returning-incorrect-item

좋은 웹페이지 즐겨찾기