समाप्त नहीं हुआ, तो मैंने कुछ टैब के साथ एक फ्रैगमेंट एक्टिविटी लिखा। जब मैं प्रारंभ गतिविधि के साथ एक अतिरिक्त गतिविधि (जिसे मैं उपयोगकर्ता-वरीयताओं को सेट करने के लिए उपयोग करता हूं) को कॉल करता हूं (फ्रेगमेंट एक्टिविटी या लिस्टफ्रैगमेंट में कोई फर्क नहीं पड़ता) एक्टिविटी रिसेट को विधि जब मैं इस वरीयता-गतिविधि को शुरू करता हूं, लेकिन जब मैं इसे समाप्त करता हूं, मैं इसकी अपेक्षा करता हूं (फिर फ्रैगमेंट एक्टिविटी या लिस्टफ्रैगमेंट में इसका कोई फर्क नहीं पड़ता)। वरीयता-गतिविधि को समाप्त करने के बाद इस विधि को बिल्कुल कॉल नहीं किया जाता है।पर एक्टिविटी रिसर्च को गतिविधि शुरू होने पर बुलाया जाता है, जब यह
मेरी समस्या यह है कि मैं वरीयता गतिविधि समाप्त करने के बाद अपने वर्तमान टैब को रीफ्रेश करना चाहता हूं (और आखिरी इस्तेमाल की गई टैब आईडी सेट करना चाहता हूं) और मुझे आशा है कि यह एक्टिविटी रिसेट विधि में ऐसा करने में सक्षम हो।
public abstract class ListFragmentBase<I> extends ListFragment implements
LoaderCallbacks<List<I>> {
इस विधि मुझे इस वर्ग के भीतर वरीयता गतिविधि को अग्रेषित है:
protected void forwardToPreferences(int currentTab){
Intent intent = new Intent(getActivity(), GlobalPreferencesActivity.class);
getActivity().startActivityForResult(intent, 10);
}
इस विधि के बाद कहा जाता हो जाता है वह यह है कि
इसवर्ग वरीयता-गतिविधि बनाने है उपरोक्त विधि को कॉल करना, लेकिन मैंने गतिविधि को समाप्त करने के बाद
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
इस वरीयता-गतिविधि है:
public class GlobalPreferencesActivity extends Activity {
और उस वर्ग आप देख मैं कैसे खत्म विधि कॉल के अंदर:
TextView confirmSettings = (TextView) view.findViewById(R.id.confirm_settings);
confirmSettings.setTextSize(PreferenceHelper.getSizeHeader(getApplicationContext()));
confirmSettings.findViewById(R.id.confirm_settings).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(BaseFragmentActivity.lastActivity != null){
BaseFragmentActivity.lastActivity.onRefreshData();
}
ComponentName callingActivity = getCallingActivity();
GlobalPreferencesActivity.this.finish();
}
});
पोस्ट कोड और लॉगक आउटपुट। – Squonk
मैं एंड्रॉयड जोड़कर अपने विशेष समस्या को ठीक कर सकते हैं: launchMode = "मानक" वरीयता-गतिविधि के लिए AndroidManifest.xml में (जो पहले था - ListFragements तरह - करने के लिए सेट "singleInstance")। लेकिन startActivityForResult का व्यवहार अभी भी मेरे लिए बहुत अजीब है। – richard
क्षमा करें, पहली बार जब मैं कोड जोड़ता हूं, तो मुझे थोड़ी देर लग गई। और अब मुझे सही तरीके से लॉगकैट प्रारूप के लिए पता लगाना है और इसे जोड़ना है। – richard