2012-02-14 12 views
14

मैं एंड्रॉइड 2.1 एपीआई 7 ऐप विकसित कर रहा हूं। मैं एक्शन बार को लागू करने के लिए ActionbarSherlock लाइब्रेरी का भी उपयोग कर रहा हूं।एंड्रॉइड 2.1 में पॉपअपमेनू एपीआई 7

अब, मुझे PopupMenu लागू करने की आवश्यकता है जो केवल API 11+ द्वारा समर्थित है।

मैं एंड्रॉइड 2.1 एपीआई 7 में PopupMenu कैसे कार्यान्वित कर सकता हूं?

+1

मैं यहां कुछ ऐसा कर रहा हूं !!! http://stackoverflow.com/questions/16621070/get-context-of-popupmenu-like-contextmenu – toobsco42

+0

कृपया इस पूर्व-पूछे जाने वाले प्रश्न की जांच करें: [प्री-हनीकॉम के लिए पॉपअपमेनू के लिए उपयुक्त विकल्प] (http://stackoverflow.com/प्रश्न/9878 9 16/उचित-विकल्प-से-पॉपअपमेनू-फॉर-प्री-हनीकॉम) यह अवधारणा पर आपकी सहायता करेगा। –

+0

[HoloEverywhere] (https://github.com/Prototik/HoloEverywhere) का उपयोग करने के बारे में क्या? – azizbekian

उत्तर

1

मैं ऐसी समस्या से फंस गया हूं, और एकमात्र समाधान जो मैंने पाया है, एंड्रॉइड एसडीके < 11 में सूची संवाद और एंड्रॉइड 11 और उच्चतर में सूचीपॉप का उपयोग करना था।

+0

यह समाधान है जो मैंने अंत में तय किया है, यहां तक ​​कि HoloEverywhere जैसे समाधान खोजने के बाद भी सैद्धांतिक रूप से पॉपअपमेनस को पहले एपीआई संस्करणों में अनुमति देगा। यह बहुत कम ओवरहेड है! – andygeers

0

इसका संभावित आयात आपके कोड में विशेष एपीआई फाइलें, मुझे लगता है कि ग्रहण आपके लिए यह करेगा, बस कोड लिखें और अगर इसे आयात करने के लिए Google से आयात नहीं किया जाता है।

1

आप HoloEveryWhere का उपयोग कर सकते हैं, यह होलो थीम को एंड्रॉइड 4.1 से 2.1 और उसके बाद के संस्करण में ला सकता है।

+0

यदि यह किसी और की मदद करता है: मैंने HoloEverywhere मार्ग की कोशिश की। यह आपकी बाइनरी में काफी बड़ी सेटअप लागत और आकार ओवरहेड के साथ एक स्लेजहैमर दृष्टिकोण का थोड़ा सा है। आप यह विचार करना चाहेंगे कि क्या आपको वास्तव में एपीआई v7 में पॉपअपमेनू की ज़रूरत है, भले ही आप ListViewActivity या somesuch का उपयोग कर सकें। – andygeers

0

आप एक ListDialogFragment बना सकते हैं जो शेरलॉकडिअलॉगफ्रेगमेंट बढ़ाता है और अपना खुद का श्रोता इंटरफ़ेस बनाता है ताकि आप चयन ईवेंट को संभाल सकें।

public class ListDialogFragment extends SherlockDialogFragment { 

private String[] mValues; 

public interface ListDialogListener { 
    void onFinishListDialog(int selectedIndex, String tag); 
} 

private ListDialogFragment(String[] values) { 
    mValues = values; 
} 

public static ListDialogFragment newInstance(int index, String[] values) { 
    ListDialogFragment fragment = new ListDialogFragment(values); 

    // Supply index input as an argument. 
    Bundle args = new Bundle(); 
    args.putInt("index", index); 
    fragment.setArguments(args); 

    return fragment; 
} 

public int getSelectedIndex() { 
    return getArguments().getInt("index", 0); 
} 

} 
4

Android समर्थन V7 लाइब्रेरी का उपयोग करें;
android.support.v7.widget.PopupMenu

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