2009-12-21 15 views
7

मैं इस तरह मेरे संदर्भ मेनू खोलें:कैसे संदर्भ मेनू कॉल करने के लिए

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
    case OPTIONS: 
     registerForContextMenu(v); 
     openContextMenu(v); 
     return true; 

जहां:

private OnClickListener optionsClickListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
    registerForContextMenu(v); 
    openContextMenu(v); 
    } 
}; 

मैं अपने नियमित रूप से मेनू हैंडलर अंदर से यहां कॉल कर सकते हैं

registerForContextMenu(v); 
openContextMenu(v); 

मेरे पास पास करने के लिए कोई दृश्य नहीं है?

+1

क्या आप एक विकल्प मेनू आइटम से ContextMenu दिखाने की कोशिश कर रहे हैं? –

+0

हां, यही सवाल है। – gdonald

+1

यह पूरी तरह से संभव है, यह सिर्फ इतना है कि आपका मूल प्रश्न काफी अस्पष्ट था और समझ में नहीं आया था। मुझे हैरान है कि किसी ने बाद में जवाब नहीं दिया क्योंकि टिप्पणी आपको स्पष्ट रूप से स्पष्ट करती है। जब लोगों को आपके प्रश्न को समझने में परेशानी होती है, तो आपको इसे संपादित करना चाहिए, साथ ही टिप्पणियों का जवाब देना चाहिए। – Casebash

उत्तर

14

एक संदर्भ मेनू पंजीकृत करना तब होता है जब आप उपयोगकर्ता को लंबे क्लिक करके इसे खोलने की अनुमति देना चाहते हैं। यदि आप इसे प्रोग्रामेटिक रूप से खोलना चाहते हैं, तो आपको बस openContextMenu पर कॉल करना होगा। दृश्य प्राप्त करने के लिए, आप या तो findViewById का उपयोग कर सकते हैं यदि आपने इसे एक आईडी दिया है या इसे अपने Activity कक्षा में एक विशेषता के रूप में सहेज लिया है।

+0

धन्यवाद। मुझे यह काम मिल गया। – gdonald

0

आपके पास this है जो एक दृश्य भी है।

+0

संदर्भ में मैंने बताया, "यह" एक गतिविधि है, न कि दृश्य। – gdonald

+1

इन तरीकों से आप क्या देख रहे हैं? जो दृश्य आप पारित कर रहे हैं वह आपका मुख्य दृश्य नहीं है, यह वह दृश्य है जिसने ईवेंट प्राप्त किया है, इसलिए बटन या जो भी हो। – CaseyB

+0

onOptionsItem चयनित() एक दृश्य तक पहुंच प्रदान नहीं करता है। यह मेनूइटम तक पहुंच प्रदान करता है। मैंOOssItemSelected() के संदर्भ में registerForContextMenu() और openContextMenu() को कैसे कॉल करूं? जहां मुझे केवल मेनू इटिम दिया गया है, न कि दृश्य? मैं MenuItem से वर्तमान दृश्य कैसे प्राप्त करूं? item.what? .क्या? ? – gdonald

0

शायद आप जो खोज रहे हैं वह वास्तव में submenu है, जहां यह आपको मेनू आइटम पर क्लिक करने पर उपमेनू पॉप अप करने की अनुमति देता है।

+0

नहीं, यह वही नहीं है जो मैं बिल्कुल करने की कोशिश कर रहा हूं। – gdonald

+0

कोई भी कारण आपको उप मेन्यू दिखाने के बजाए OptionMenu से ContextMenu पॉप अप करना होगा; यूआई और कोड परिप्रेक्ष्य से, वे लगभग समान दिखते हैं। यदि आपको वास्तव में जरूरी है, तो आप किसी भी दृश्य में पास कर सकते हैं, जैसे ImageView, TextView, Button, आदि –

+0

लेकिन इससे मेरी मदद की .. धन्यवाद :) –

संबंधित मुद्दे