http://developer.android.com/guide/components/loaders.html में पाया लोडर के लिए Android दस्तावेज़ में पर पुन: प्रारंभ होता यह कहते लोडर के गुणों में से एक है जो:लोडर उन्मुखीकरण परिवर्तन
जब एक विन्यास बदलने के बाद से निर्मित किया जा रहा वे स्वचालित रूप से पिछले लोडर के कर्सर से पुन: कनेक्ट। इस प्रकार, उन्हें अपने डेटा को फिर से पूछने की आवश्यकता नहीं है।
कोड है कि व्यवहार दर्पण प्रतीत नहीं होता है के बाद, एक नया लोडर एक खत्म ContentResolver क्वेरी करने बनाई गई है, तो मैं स्क्रीन बारी बारी से और लोडर फिर से बनाया जाता है!
08-17 16:49:54.474: D/TEST(1833): Creating loader
08-17 16:49:55.074: D/TEST(1833): Load finished
*Here I rotate the screen*
08-17 16:50:38.115: D/TEST(1833): Creating loader
08-17 16:50:38.353: D/TEST(1833): Load finished
किसी भी विचार क्या मैं गलत कर रहा हूँ यहाँ:
public class ReportFragment extends Fragment implements LoaderCallbacks<Cursor> {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getLoaderManager().initLoader(1, null, this);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_report, container, false);
return v;
}
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
Log.d("TEST", "Creating loader");
return new CursorLoader(getActivity(), ResourcesContract.Reports.CONTENT_URI, null, null, null, null);
}
public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
Log.d("TEST", "Load finished");
}
public void onLoaderReset(Loader<Cursor> arg0) {
}
}
यहाँ मेरी logcat से उत्पादन होता है?
संपादित करें:
मैं नोट करना चाहिए कि मैं गूगल एपीआई संस्करण 8 Android में निर्माण कर रहा हूँ, और v4 समर्थन लाइब्रेरी का उपयोग कर।
2 संपादित करें:
यह समर्थन पुस्तकालय में एक बग के कारण सबसे अधिक संभावना है, इस बग प्रस्तुत करने पर एक नज़र डालें आप अधिक जानकारी चाहते हैं:
अधिक जानकारी के लिए यह पोस्ट देखें: यदि आप 'getLoaderManager()' onActivityCreated' में बुलाना चाहिए 'इसके अलावा http://www.androiddesignpatterns.com/2012/08/implementing-loaders.html –
, ... अपने वर्तमान कोड 'Fragment' पहली बार बनाई गई है, तो' गतिविधि' अभी भी शून्य 'है, तो' IllegalStateException' फेंक देगा। –
@AlexLockwood, आपके उदाहरण में (अच्छी नौकरी!) आप समर्थन-v4: 18.0.0 का उपयोग कर रहे हैं। वर्तमान संस्करण 23.0.1 है और इसमें यह बग है। मैंने जो नवीनतम वर्किंग वर्जन परीक्षण किया है वह 22.0.0 है। –