2015-05-19 18 views
7

के अंदर ठीक से नहीं स्थित है, मैं ओवरफ्लो बटन के अंदर एक छवि दृश्य के साथ एक रीसाइक्लिंग व्यू में डेटा लोड करने के लिए एक एंड्रॉइड ऐप बना रहा हूं। जब उपयोगकर्ता इसे क्लिक करते हैं, तो पॉपअपमेनू चुनने के विकल्पों के साथ प्रदर्शित होता है। मैंने इसे दिखाने में कामयाब रहा लेकिन स्थिति सही नहीं लग रही है। कृपया स्क्रीनशॉट देखें।पॉपअपमेनू रीसाइक्लर व्यू

केवल पहले दो आइटम ठीक लग रहे हैं। यहाँ स्रोत कोड हैं:

view.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    final PopupMenu popupMenu = new PopupMenu(context, view); 
    final Menu menu = popupMenu.getMenu(); 

    popupMenu.getMenuInflater().inflate(R.menu.menu_item_action, menu); 
    popupMenu.setOnMenuItemClickListener(onMenuItemClickListener); 

    switch (Global.listMode) { 
     case Global.LIST_STYLE_NORMAL: { 
     menu.findItem(R.id.action_delete).setVisible(false); 
     break; 
     } 
     case Global.LIST_STYLE_FAVORITE: { 
     menu.findItem(R.id.action_add_to_favorite).setVisible(false); 
     break; 
     } 
     case Global.LIST_STYLE_WATCH_LIST: { 
     menu.findItem(R.id.action_add_to_watch_list).setVisible(false); 
     break; 
     } 
     case Global.LIST_STYLE_DOWNLOAD: { 
     menu.findItem(R.id.action_download).setVisible(false); 
     break; 
     } 
    } 

    itemPosition = (int) view.getTag(R.id.tag_item_position); 
    popupMenu.show(); 
    } 
}); 

आप लोग मुझे बाहर बिंदु सकता है मुद्दा है, मैं खोज के लिए घंटे लगे था, लेकिन अभी भी अब कुछ भी नहीं ऊपर पाया।

पी/एस: क्लिक किए गए बटन को लाल सर्कल के साथ चिह्नित किया गया है।

किसी भी मदद की सराहना की जाएगी!

+0

यह कुछ है जो मैं एक आवेदन के लिए भी काम कर रहा हूं, क्या यह आपके कोड में से कोई भी सार्वजनिक मंच जैसे जिथब में पोस्ट किया गया है? मैं मेनू आइटमों को उनके लिए अनुभाग बनाने की कोशिश कर रहा हूं (आईई बाईं ओर एक तस्वीर, बीच में नाम, दाईं ओर विवरण) लेकिन मुझे यह पता लगाने में परेशानी हो रही है कि इसे कैसे किया जाए। – Silmarilos

उत्तर

10

सौभाग्य से, मैं अभी जिस तरह से समस्या का समाधान करने के लिए मिला है:

  • उपयोग android.widget.PopupMenuandroid.support.v7.widget.PopupMenu नहीं
  • final PopupMenu popupMenu = new PopupMenu(context, v);

साथ final PopupMenu popupMenu = new PopupMenu(context, view); बदलें ईमानदारी से, मैं पता नहीं क्यों, बस कोशिश करो और voila!

+0

लेकिन क्या यह पुराने एपिस के साथ काम करता है? –

+0

यह मेरे लिए काम करता है! –

+0

'पॉपअपमेनू' का दस्तावेज कहता है "एंड्रॉइड 3.0 से पहले प्लेटफॉर्म पर चलने वाले ऐप्स लिखने के लिए प्रयुक्त होता है। एंड्रॉइड 3.0 या उसके बाद के संस्करण पर चलते समय, यह कार्यान्वयन अभी भी उपयोग किया जाता है; यह फ्रेमवर्क के कार्यान्वयन पर स्विच करने की कोशिश नहीं करता है।" –

1

मुझे पूरा यकीन नहीं है लेकिन ऐसा लगता है कि एक समान समस्या here और पहले से ही एक स्वीकार्य उत्तर है। उम्मीद है कि यह आपकी समस्या से आपकी मदद करेगा। बस आपके प्रश्न पर ठोकर खाई और इस विषय को लिंक में चर्चा की और सोचा कि शायद यह आपके लिए सहायक भी हो सकता है।

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