คำถามติดแท็ก android-loadermanager

6
ความแตกต่างระหว่าง initLoader และ restartLoader ใน LoaderManager
ฉันหลงทางอย่างสิ้นเชิงเกี่ยวกับความแตกต่างระหว่างinitLoaderและrestartLoaderหน้าที่ของLoaderManager: พวกเขาทั้งสองมีลายเซ็นเดียวกัน restartLoader ยังสร้างตัวโหลดหากไม่มีอยู่ ("เริ่มต้นใหม่หรือรีสตาร์ทตัวโหลดที่มีอยู่ในตัวจัดการนี้") มีความสัมพันธ์ระหว่างสองวิธีนี้หรือไม่? โทรrestartLoaderตลอดinitLoaderไหม? โทรมาrestartLoaderไม่ต้องโทรได้initLoaderไหม ปลอดภัยไหมที่จะโทรinitLoaderสองครั้งเพื่อรีเฟรชข้อมูล ฉันควรใช้หนึ่งในสองเมื่อใดและเพราะเหตุใด

4
AsyncTaskLoader กับ AsyncTask
ตั้งแต่Honeycombและมันเป็นไปได้ที่จะใช้งานv4 Compatibility Library AsyncTaskLoaderจากสิ่งที่ฉันเข้าใจAsyncTaskLoaderสามารถอยู่รอดผ่านการเปลี่ยนแปลงการกำหนดค่าเช่นการพลิกหน้าจอ แนะนำให้ใช้AsyncTaskLoaderแทนAsyncTask? ไม่LoaderManagerได้รับในภาพเกินไป? แต่ฉันไม่พบตัวอย่างที่ดีเกี่ยวกับวิธีใช้ไฟล์AsyncTaskLoader. เอกสารยังไม่มีตัวอย่าง ใครช่วยให้ตัวอย่างที่ดี

3
LoaderManager พร้อมรถตักหลายตัว: วิธีรับเคอร์เซอร์ที่ถูกต้อง
สำหรับฉันมันไม่ชัดเจนว่าจะรับเคอร์เซอร์ที่ถูกต้องได้อย่างไรหากคุณมีรถตักหลายตัว สมมติว่าคุณกำหนด Loader สองแบบด้วย: getLoaderManager().initLoader(0,null,this); getLoaderManager().initLoader(1,null,this); จากนั้นในonCreateLoader ()คุณจะทำสิ่งต่าง ๆ ขึ้นอยู่กับ id: @Override public Loader<Cursor> onCreateLoader(int id, Bundle arg1) { if (id==0){ CursorLoader loader = new CursorLoader(getActivity(), MaterialContentProvider.CONTENT_URI,null,null,null,null); }else{ CursorLoader loader = new CursorLoader(getActivity(), CustomerContentProvider.CONTENT_URI,null,null,null,null); }; return loader; } จนถึงตอนนี้ดีมาก แต่จะทำอย่างไรให้เคอร์เซอร์ถูกต้องในonLoadFinished ()เพราะคุณไม่ได้รับ id ใด ๆ เพื่อระบุเคอร์เซอร์ที่ถูกต้องสำหรับ Cursoradapter ที่ถูกต้อง @Override public void …

5
การใช้งาน CursorLoader โดยไม่มี ContentProvider
เอกสาร Android SDK ระบุว่าstartManagingCursor()เมธอดนั้นถูกยกเลิก: วิธีนี้เลิกใช้แล้ว ใช้คลาส CursorLoader ใหม่กับ LoaderManager แทน นอกจากนี้ยังมีให้บริการบนแพลตฟอร์มรุ่นเก่าผ่านแพ็คเกจความเข้ากันได้ของ Android วิธีนี้ช่วยให้กิจกรรมดูแลจัดการวงจรชีวิตของเคอร์เซอร์ที่กำหนดให้คุณตามวงจรชีวิตของกิจกรรม นั่นคือเมื่อหยุดกิจกรรมมันจะเรียก deactivate () บนเคอร์เซอร์ที่กำหนดโดยอัตโนมัติและเมื่อเริ่มต้นใหม่ในภายหลังมันจะเรียกการร้องขอ () สำหรับคุณ เมื่อกิจกรรมถูกทำลายเคอร์เซอร์ที่มีการจัดการทั้งหมดจะถูกปิดโดยอัตโนมัติ หากคุณกำหนดเป้าหมาย HONEYCOMB หรือใหม่กว่าให้พิจารณาใช้ LoaderManager แทนซึ่งมีให้ผ่าน getLoaderManager () CursorLoaderดังนั้นผมจึงต้องการที่จะใช้ แต่ฉันจะใช้มันCursorAdapterได้ContentProviderอย่างไรเมื่อฉันต้องการ URI ในตัวสร้างCursorLoader?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.