java - Android: ExpandableListView and context menus -


मैं ExpandableListView का उपयोग कर एक ऐप लिख रहा हूं।
मैं बेसएक्सपैन्डेबल लिस्टएडएप्टर को मेरे विस्तारयोग्य लिस्टव्यू पर डेटा प्रदान करने के लिए

फिर मैं इस दृश्य पर संदर्भ मेनू जोड़ने का प्रयास करता हूं, लेकिन इन मेनू को समूह के लिए अलग से अलग होना चाहिए विस्तार योग्य सूची इसलिए मेरे एडाप्टर के getChildView और getGroupView में मैं setOnCreateContextMenuListener को इस तरह कॉल करता हूं:

  TextView textView = नया TextView ( TestActivity.this) ;; TextView.setText (getChild (ग्रुपपोजिशन, चाइल्ड पॉज़िशन) .toString ()); TextView.setOnCreateContextMenuListener (नया View.OnCreateContextMenuListener () {@Override सार्वजनिक शून्य परक्रेटटेन्टेक्स्टमेन्यू (संदर्भ मेनू मेनू, दृश्य v, ContextMenu.ContextMenuInfo menuInfo) {TestActivity.this.onCreateChildContextMenu (menu, v, menuInfo);}}); वापसी पाठदृश्य;   

TestActivity.this.onCreateChildContextMenu बस मेनू में कुछ स्ट्रिंग जोड़ता है।

समस्या:
यह काफी ठीक काम करता है - संदर्भ मेन्यू प्रकट होता है और अपेक्षित काम करता है लेकिन समूह आइटम अब विस्तार नहीं किया जा सकता। यह केवल अल्प क्लिकों की उपेक्षा करता है मैंने चेक किया है - जैसा कि उम्मीद की गई है कि पाठव्यू बन जाता है इस लाइन के बाद लँगलैक्टेबल () है लेकिन यह अभी भी नहीं है (क्लिक करें) - इसलिए मैं नहीं देख सकता कि यह संदर्भ मेनू कॉलबैक कम क्लिक कार्यक्षमता को कैसे प्रभावित कर सकता है।
मैंने इस समस्या को मेरे लिए हल किया है पूरे विस्तारकर्तालिस्टव्यू में इस श्रोता को जोड़कर और फिर बच्चों के लिए मेनू को पैचिंग करना। लेकिन यह बदसूरत लग रहा है क्या मुझे कुछ याद आती है?

धन्यवाद।

मुझे नया मिला: getChildView में:

  convertView.setOnCreateContextMenuListener (नया OnCreateContextMenuListener) {@Override सार्वजनिक शून्य परक्रेटटेन्टेक्समेनू (संदर्भ मेनू मेनू, देखें वी, संदर्भ मेनूइन्फोइन्इन्फ़ो) {स्ट्रिंग मेनूइटम []; मेनूआइटम = मिलर संसाधन ()। GetStringArray (आर। Array.contextmenu); menu.setHeaderTitle (getResources ()। GetString (R.string.sms_select)) के लिए (int i = 0; i & lt; menuItems.length; i ++) {menu.add (Menu.NONE, i, i , मेनूआइटम [i]);}}});   

और:

  @Override सार्वजनिक बूलियन ऑन कॉन्टेक्सइटम चयनित (आइटम आइटम) {ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item.getMenuInfo (); इंट मेनूआईटैमइंडएक्स = मद.गेटआईटीमआईडी (); }    

Comments

Popular posts from this blog

qt - switch/case statement in C++ with a QString type -

python - sqlite3.OperationalError: near "REFERENCES": syntax error - foreign key creating -

Python's equivalent for Ruby's define_method? -