2016-01-11 3 views
7

मैं डिफ़ॉल्ट एंड्रॉइड DatePickerDialog का उपयोग कर रहा हूं जिसमें android.widget.DatePicker है।एंड्रॉइड डेट पिकर संवाद में कुछ तिथियों को कैसे अक्षम करें?

क्या कोई जानता है कि कुछ तिथियों को कैसे अक्षम या अक्षम करना है?

मुझे पता है DatePickersetMinDate() और setMaxDate() की अनुमति देता है लेकिन यह मध्य में विशिष्ट तिथियों को अक्षम करने की अनुमति नहीं देता है।

उदा। इस तस्वीर पर तारीख 18, 26 को निष्क्रिय करने, आदि चाहते हैं:

enter image description here

उत्तर

2

यही है व्यवहार में बनाया गया एक नहीं - आप एक कस्टम दिनांक पिकर का उपयोग करना होगा।

+0

क्या आप एक सुझाव दे सकते हैं? –

+2

[यह लाइब्रेरी] (https://github.com/wdullaer/MaterialDateTimePicker) में स्वीकार्य के रूप में केवल विशिष्ट तिथियां सेट करने की क्षमता है। – ianhanniballake

+0

यह भी ऐसा कर सकता है - https://github.com/square/android-times-square। आपके द्वारा सुझाए गए कैलेंडर को भी आजमाएं। –

1

मुझे कस्टम डेटपिकर का उपयोग करके एक विधि मिली है। सबसे पहले हमें तारीख को स्ट्रिंग के रूप में लेने की आवश्यकता है और फिर इसे डेट ऑब्जेक्ट में परिवर्तित करना होगा और फिर दिनांक कैलेंडर ऑब्जेक्ट में परिवर्तित हो जाएगा। अंत में setDisabledDays (calenderobj) का उपयोग करके। हम इसे अक्षम कर सकते हैं। कोड निम्नानुसार है।

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); 
       String a = "26-07-2017"; 
       java.util.Date date = null; 
       try { 
        date = sdf.parse(a); 
        MainActivity obj = new MainActivity(); 
        calendar = obj.dateToCalendar(date); 
        System.out.println(calendar.getTime()); 
       } catch (ParseException e) { 
        e.printStackTrace(); 
       } 

       List<Calendar> dates = new ArrayList<>(); 
       dates.add(calendar); 
       Calendar[] disabledDays1 = dates.toArray(new Calendar[dates.size()]); 
       dpd.setDisabledDays(disabledDays1); 
       } 


    private Calendar dateToCalendar(Date date) { 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTime(date); 
     return calendar; 
    } 
+0

मई मुझे पता है कि यह डीपीडी ऑब्जेक्ट क्या करता है? – androidOnHigh

+0

dpd.setDisabledDays (अक्षम दिन 1); इस लाइन में आप विकलांगों को डेटपिकर पर सेट कर रहे हैं। कि डीपीडी कस्टम डेटपिकर का एक वस्तु है – Bharath

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