क्या कोई प्रोग्राम विकल्प प्रोग्रामेटिक रूप से चुनने का कोई तरीका है? असल में, मैं एक विशिष्ट मेनू विकल्प दबाकर एक ही कार्रवाई करने के लिए एक बटन चाहता हूं। मैं ऑप्शन इटैम चयन (मेनू इटैम आइटम) पर कॉल करने की कोशिश करने के बारे में सोच रहा था, लेकिन मुझे नहीं पता कि मेनू आइटम के लिए क्या रखा जाए।एंड्रॉइड - प्रोग्रामेटिक रूप से मेनू विकल्प का चयन करें
उत्तर
आपके पास यूआई ईवेंट दोनों एक सामान्य विधि क्यों नहीं हैं?
हाँ मेनू विकल्प चुनने का कोई तरीका है! और तुम onOptionsItemSelected (MenuItem आइटम) को कॉल करने के बारे में सही कर रहे हैं यहाँ जिस तरह से MenuItem प्राप्त करने के लिए है:
private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.menu = menu;
return super.onCreateOptionMenu(menu);
}
:
1) सबसे पहले आप क्या करने की जरूरत यहाँ अपनी गतिविधि के अंदर मेनू वर्ग के संदर्भ मिलता है
2) तो मूल रूप से, मेनू क्लास में आपके सभी मेनू आइटम होते हैं।
onOptionsItemSelected(menu.findItem(R.id.action_id));
... जहां action_id मेनू आइटम आप चयन करना चाहते का आईडी है: तो एक बार आप इस संदर्भ है, तो आप इस तरह मेनू क्लिक अनुकरण। आप इस आईडी को अपने मेनू एक्सएमएल में पा सकते हैं।
मैं यह भी ढूंढ रहा था। और जब कोई आइटम चेक किए जाने पर उपयोग की जाने वाली विधि को कॉल करने के लिए समझ में आता है, तो वह यूआई में चेक किए गए मेनू आइटम को सेट नहीं करेगा।
तो क्या मैं समाप्त हो गया कर रहा था:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
MenuItem menuItem = (MenuItem)navigationView.getMenu().findItem(R.id.nav_menu_item_1);
menuItem.setChecked(true);
onNavigationItemSelected(menuItem);
के रूप में मेरे लिए वांछित निम्नलिखित काम नहीं किया:
onOptionsItemSelected (menu.findItem (R.id.action_id));
- 1. एंड्रॉइड - विकल्प मेनू खोलें
- 2. एंड्रॉइड विकल्प मेनू आइटम
- 3. एंड्रॉइड विकल्प मेनू आइकन
- 4. एंड्रॉइड - नेस्टेडफ्रैगमेंट विकल्प मेनू
- 5. एंड्रॉइड - परिवर्तन विकल्प मेनू गतिशील रूप से, लेकिन एक्सएमएल
- 6. एंड्रॉइड प्रोग्रामेटिक रूप से
- 7. प्रोग्रामेटिक रूप से एंड्रॉइड
- 8. एंड्रॉइड प्रोग्रामेटिक रूप से
- 9. एंड्रॉइड में मेनू विकल्प
- 10. प्रोग्रामेटिक रूप से एंड्रॉइड
- 11. मेनू प्रोग्रामेटिक एंड्रॉइड में दृश्यता सेट करें
- 12. त्वचा विकल्प मेनू एंड्रॉइड
- 13. एंड्रॉइड प्रोग्रामेटिक रूप से
- 14. प्रोग्रामेटिक रूप से डिजीट का चयनित मान सेट करें विजेट
- 15. WPF ListView प्रोग्रामेटिक रूप से आइटम का चयन करें
- 16. एंड्रॉइड बनाने का बटन प्रोग्रामेटिक रूप से
- 17. सेलेनियम: एक चयन मेनू से एक विकल्प का चयन कैसे करें?
- 18. बटन पर एंड्रॉइड विकल्प मेनू
- 19. एंड्रॉइड प्रोफाइल प्रोग्रामेटिक रूप से स्विच करें
- 20. एंड्रॉइड ओएस प्रोग्रामेटिक रूप से
- 21. प्रोग्रामेटिक रूप से एंड्रॉइड अधिसूचना
- 22. एंड्रॉइड एसएमएस प्रोग्रामेटिक रूप से
- 23. jQuery विकल्प जब विकल्प का चयन करें
- 24. php सर्वर से एंड्रॉइड प्रोग्रामेटिक रूप से
- 25. प्रोग्राम मेनू को प्रोग्रामेटिक रूप से कैसे खोलें?
- 26. सेलेनियम वेबड्राइवर में राइट-क्लिक मेनू से एक विकल्प का चयन करें - जावा
- 27. एक्लिप्स प्लगइन से प्रोग्रामेटिक रूप से मेनू आइटम बदलें
- 28. आईफोन प्रोग्रामेटिक रूप से
- 29. प्रोग्रामेटिक रूप से कच्चे_इनपुट
सरल जवाब अक्सर सबसे अच्छा कर रहे हैं;) +1 – Squonk
मैं() onOptionsItemSelected में कुछ साझा कोड सभी मेनू आइटम कि मैं नहीं बल्कि अलग नहीं होगा के लिए है। और मैं बस उम्मीद कर रहा था कि मेनू विकल्प को कॉल करने का एक आसान तरीका था। – dt0
@ dt0 हमेशा कोड को दोबारा करने और इसे DRY और सुंदर बनाने का एक तरीका है, खासकर यदि यह आपका स्वयं का कोड है। यदि साझा कोड रनटाइम चर का एक गुच्छा है, तो हो सकता है कि आप एक संरचना का उपयोग कर सकें जिसमें यह सब एक ही स्थान पर होगा। यदि यह कार्यात्मक सामान है, तो आप इसे उपयोगिता विधियों में कारक बना सकते हैं। हमेशा एक तरीका है, और मैं दृढ़ता से एक यूआई घटना को दूसरे से कॉल नहीं करने पर विचार करता हूं। यदि आप अपने कोड की अभिव्यक्ति के बारे में सोचते हैं, तो मेनू क्लिक नहीं किया गया था इसलिए मेनू क्लिक ईवेंट को कॉल करना थोड़ा अजीब है। – Rich