मेरे पास सूचीफ्रेम है जो एक्शनमोड शुरू करता है। मैं actionbarsherlock का उपयोग कर रहा हूँ। लेकिन जब अभिविन्यास बदलता है, या जब मैं नई गतिविधि प्रासंगिक एक्शनबार अपघटन शुरू करता हूं। क्या इसे फिर से शुरू किए बिना इसे पुनर्स्थापित करने का कोई तरीका है? गूगल जीमेल ऐप में यह स्क्रीन पर रहता है कि मैं फोन घुमाता हूं या विस्तार स्क्रीन पर जाता हूं।अभिविन्यास परिवर्तन के बाद एक्शनमोड को पुनर्स्थापित करें
उत्तर
रोटेशन से पहले एक्शनमोड स्थिति को सहेजने के लिए SaveInstanceState पर बेहतर तरीका का उपयोग किया जाता है।
public abstract class MyActivity extends SherlockFragmentActivity{
private boolean isInActionMode = false;
@Override
public void onCreate(Bundle state){
super.onCreate(state);
if (state != null && state.getBoolean("ActionMode", false)){
startActionMode(new MyActionMode());
}else{
///whatever you'd normally do
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
// Save isInActionMode value
outState.putBoolean("ActionMode", isInActionMode);
super.onSaveInstanceState(outState);
}
public void onWhateverEventNormallyStartsYourActionMode(){
startActionMode(new MyActionMode());
}
public class MyActionMode implements ActionMode.Callback{
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
isInActionMode = true;
///whatever you'd normally do
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
///whatever you'd normally do
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
///whatever you'd normally do
}
@Override
public void onDestroyActionMode(ActionMode mode) {
isInActionMode = false;
}
}
}
सरन की टिप्पणी के अनुसार अपडेट किया गया।
'isInActionMode = true;' केवल 'onCreateActionMode()' में होना चाहिए अन्यथा अगला रोटेशन राज्य नहीं उठाएगा । – Saran
यह वास्तव में एक्शन मोड को पुनर्स्थापित नहीं करता है। यह इसे फिर से शुरू करता है। तो आपको एक्शन मोड शीर्षक को फिर से बनाना होगा और सभी आइटम चयनों को फिर से करना होगा। बेशक – faizal
। आपको गतिशील डेटा की स्थिति (उदाहरण के लिए चयन) को सहेजना होगा और बाद में इसे पुनर्स्थापित करना होगा। – galex
- 1. अभिविन्यास परिवर्तन
- 2. मेरे विचार अभिविन्यास परिवर्तन
- 3. अभिविन्यास परिवर्तन
- 4. अभिविन्यास परिवर्तन
- 5. प्रक्रिया के बाद राज्य को पुनर्स्थापित करें
- 6. अभिविन्यास परिवर्तन के बाद गतिविधि का दूसरा उदाहरण
- 7. एक्शनमोड
- 8. हनीकॉम में अभिविन्यास परिवर्तन
- 9. आईपैड अभिविन्यास परिवर्तन समस्या
- 10. यूआईपीओपीओवर और अभिविन्यास परिवर्तन
- 11. आईफोन एसडीके: अभिविन्यास परिवर्तन के बाद UIView सबक्लास पर drawRect को कैसे ट्रिगर करें?
- 12. टुकड़े और अभिविन्यास परिवर्तन को बदलना
- 13. आईओएस अभिविन्यास परिवर्तन तुरंत पता
- 14. अभिविन्यास परिवर्तन पर व्यूपोर्ट चौड़ाई बदलने के बाद स्क्रीन पर फिट कैसे करें?
- 15. अभिविन्यास परिवर्तन में एक बैकस्टैक सहेजना
- 16. परिवर्तन करने के बाद सीवीएस से हटाई गई निर्देशिका को मैं कैसे पुनर्स्थापित कर सकता हूं?
- 17. एसवीएन आयात के बाद परिवर्तन कैसे करें?
- 18. फ्रैगमेंट saveInstanceState अभिविन्यास परिवर्तन के बाद शून्य के रूप में आ रहा है
- 19. स्क्रॉलव्यू के साथ एंड्रॉइड एक्शन बार टैब ने अभिविन्यास परिवर्तन के बाद डुप्लिकेट दृश्य बनाया
- 20. एडीटी को पुनर्स्थापित करने के बाद ग्रहण में अनुपलब्ध विकल्प
- 21. एंड्रॉइड 3.0 के बाद अन्य स्क्रीन अभिविन्यास
- 22. बलपूर्वक बंद करें जब खुले दिनांक DialogueFragment साथ अभिविन्यास परिवर्तन
- 23. एप्लिकेशन को स्क्रीन अभिविन्यास परिवर्तन को अनदेखा करने के लिए कैसे करें?
- 24. एंड्रॉयड आईसीएस + ActionBar टैब्स + अभिविन्यास परिवर्तन
- 25. अभिविन्यास बदलते समय एक्सएमएल लेआउट परिवर्तन
- 26. smo डेटाबेस को पुनर्स्थापित करें
- 27. एंड्रॉइड: सूचित करेंडेटासेट चेंज() अभिविन्यास परिवर्तन के बाद सूचीदृश्य अपडेट नहीं कर रहा है
- 28. अभिविन्यास परिवर्तन के बाद वर्तमान टैब पर बने रहें एक्शनबार एंड्रॉइड
- 29. अभिविन्यास परिवर्तन पर वेबव्यू सामग्री स्क्रॉल स्थिति बनाए रखें
- 30. कुछ उपकरणों पर एंड्रॉइड अभिविन्यास परिवर्तन को रोकें
इस पेट समस्या थ्रेड को देखें: https://github.com/JakeWharton/ActionBarSherlock/issues/463 – newbyca