/ / DatePicker पर उपयोगकर्ता को कैसे सीमित करें, आज से पहले दिनांक चुन सकते हैं_डेट - 18 वर्ष - Android, Android- विजेट

DatePicker पर उपयोगकर्ता को कैसे सीमित करें, आज से पहले दिनांक चुन सकते हैं - 18 वर्ष - Android, Android- विजेट

DatePicker को सीमित करने की तिथि का चयन कैसे नहीं किया जा सकता हैभविष्य में। मेरे पास गतिविधि में DatePicker है जो पंजीकरण के लिए उपयोग की जाती है। यदि उपयोगकर्ता 18 वर्ष से कम का है, तो ऐसा क्या करें कि उपयोगकर्ता जन्मदिन की तारीख नहीं चुन सकता (उदाहरण के लिए आज के बाद की तारीख नहीं चुन सकता है - 18 वर्ष)

उत्तर:

जवाब के लिए 2 № 1

आपने API स्तर का उल्लेख नहीं किया है। मधुकोश पर और बाद में, खजूर बीनने वाला सेटिमिन / मैक्सडेट तरीके हैं जिनका उपयोग आप अनुमेय सीमा को प्रतिबंधित करने के लिए कर सकते हैं।


जवाब के लिए 2 № 2

मुझे आशा है कि आपको अब तक जवाब मिल गया है। निम्नलिखित दूसरों के लिए भी उपयोगी हो सकता है: यदि आप आज के 18 साल बाद किसी तिथि को लेने के लिए उपयोगकर्ता को अक्षम करना चाहते हैं, तो यहां वह है जो आप कर सकते हैं।

1-JAN-1970 से 18 वर्ष से अब तक का समय प्राप्त करें (मिली सेकंड में)

   Calendar cal = Calendar.getInstance();
cal.set(cal.get(Calendar.YEAR)+18,cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH),
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), 0);
long time = cal.getTimeInMillis();

इसे दिनांकित तारीख में अधिकतम अनुमत तिथि के रूप में सेट करें

   datepicker2.setMaxDate(time);

आशा है कि यह किसी और को उत्तर की तलाश में मदद करता है


जवाब के लिए 0 № 3

Int minYear = currentYear - 18 से अब (वर्तमान वर्ष) से ​​पहले वर्ष की गणना करें; और फिर तारीख लेने वाले की अधिकतम सीमा के रूप में उस तिथि (न्यूनतम वर्ष, वर्तमान माह, वर्तमान दिन) के साथ निर्धारित करें।

    private static void setMaxLimitInDatePicker(DatePickerDialog datePickerDialog) {
final Calendar calendar = Calendar.getInstance();

int currentYear = calendar.get(Calendar.YEAR);
int currentMonth = calendar.get(Calendar.MONTH);
int currentDay = calendar.get(Calendar.DAY_OF_MONTH);

int minYear = currentYear - 18;
int minMonth = currentMonth;
int minDay = currentDay;

calendar.set(minYear, minMonth, minDay);
long minDateInMilliSeconds = calendar.getTimeInMillis();

// Set 18 years from today as max limit of date picker
datePickerDialog.getDatePicker().setMaxDate(minDateInMilliSeconds);
}