2011-01-31 5 views
6

मैं अपने एंड्रॉइड कोड में कैलेंडर ऑब्जेक्ट पर getDisplayNames() का उपयोग करने का प्रयास कर रहा हूं। मेरे पास java.util.Calendar शामिल है और कैलेंडर वर्ग (यानी कैलेंडर.एमओएनटीएच) के किसी भी अन्य सार्वजनिक सदस्यों का उपयोग करके कोई परेशानी नहीं हुई है। अब मैं निम्नलिखित पंक्ति का प्रयास कर रहा हूँ ...कैलेंडर का उपयोग करें। GetDisplayNames() में अनसुलझा

mReminderCal.getDisplayName(Calendar.DAY_OF_MONTH, Calendar.LONG, Locale.US) 

और ग्रहण मुझे Calendar.LONG या Calendar.SHORT मौजूद नहीं है कह रहा है।

प्रलेखन यहाँ के अनुसार वे मौजूद होना चाहिए: http://developer.android.com/reference/java/util/Calendar.html#LONG

किसी भी अंतर्दृष्टि?

उत्तर

4

मुझे समस्या मिली।

getDisplayName() और Calendar.LONG और Calendar.SHORT केवल API स्तर 9 हैं। मैं पीछे की संगतता के लिए एपीआई स्तर 4 पर हूं। मुझे लगता है, मुझे महीनों के पंखों को तारों में अनुवाद करने के लिए अपना स्वयं का कार्य बनाना होगा।

+0

स्तर 9 से ऊपर एपीआई के लिए ऐसा करने का तरीका क्या है? – jonney

2

आप

mReminderCal.getDisplayName(java.util.Calendar.DAY_OF_MONTH, java.util.Calendar.LONG, Locale.US); 

या स्थिर आयात का उपयोग कर सकते हैं:

import static java.util.Calendar.DAY_OF_MONTH; 

ऐसा लगता है कि आप पहले से ही एंड्रॉयड के Calendar वर्ग आयात किया है, और अपने लाइन में आप उस वर्ग से खेतों प्राप्त करने की कोशिश। इसलिए, आपको संकलक को स्पष्ट रूप से बताना होगा कि आप किस Calendar का उपयोग करते हैं।

+0

मैं दोनों सीधे का उपयोग कर 'java.util.Calendar.LONG' लेकिन यह अभी भी दावा कर रहा है लंबे हिस्से समाधान नहीं हुआ है की कोशिश की है। –

+0

क्या आप वाकई अपने प्रोजेक्ट में जेडीके 6 बाध्य हैं? –

+0

मैंने इसे समझ लिया। यह एक एपीआई स्तर मुद्दा था। परेशान करने के लिए क्षमा करें। हालांकि मुझे मदद करने के लिए +1! –

6

इसे आज़माएं (ग्रेगोरियन या नियमित कैलेंडर के लिए)। DateFormatSymbols एपीआई स्तर 1.

int month = date.get(GregorianCalendar.MONTH); 
String monthName = new DateFormatSymbols().getMonths()[month];