第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Android的DatePickerDialog上設(shè)置限制?

在Android的DatePickerDialog上設(shè)置限制?

素胚勾勒不出你 2019-12-02 10:51:04
如何限制DatePickerDialog選擇過去2-12年或當(dāng)前日期0-2年的日期?我有活動(dòng)的DatePickerDialog,用于獲取兒童和嬰兒的出生日期。兒童年齡為(2-12歲),嬰兒年齡為(0-2歲)。如果我通過1,則年齡限制應(yīng)為(2-12歲),如果我通過2,則年齡限制應(yīng)為(0-2歲)。我該怎么做才能在日歷中獲得此功能?我的日歷代碼是:date = new DatePickerDialog.OnDateSetListener() {            @Override            public void onDateSet(DatePicker view, int year, int monthOfYear,                    int dayOfMonth) {                // TODO Auto-generated method stub                myCalendar.set(Calendar.YEAR, year);                myCalendar.set(Calendar.MONTH, monthOfYear);                myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);                String myFormat = "dd/MM/yy"; //In which you need put here                SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);                dateofBirth.setText(sdf.format(myCalendar.getTime()));            }        };dateofBirth.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                showDialog(DATE_DIALOG_ID);            }        });public Dialog onCreateDialog(int id) {    final Calendar now = Calendar.getInstance();    switch (id) {    case DATE_DIALOG_ID:        // set date picker as current date        DatePickerDialog _date =   new DatePickerDialog(this, date,myCalendar                .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),                myCalendar.get(Calendar.DAY_OF_MONTH)){
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

所有其他答案似乎都令人費(fèi)解,所以我只想指出一個(gè)明顯的問題:您可以通過(簡單地調(diào)用)DatePicker從a 獲取基礎(chǔ),并使用以下方法設(shè)置其邊界:DatePickerDialoggetDatePicker()

  • setMinDate(long minDate)

  • setMaxDate(long maxDate)

其中,自變量是默認(rèn)時(shí)區(qū)中自1970年1月1日00:00:00以來的通常毫秒數(shù)。當(dāng)然,您仍然必須計(jì)算這些值,但這對(duì)于Calendar該類而言應(yīng)該是微不足道的:只需獲取當(dāng)前日期并加上或減去x年份即可。

更細(xì)心的讀者會(huì)注意到,直到API級(jí)別11為止,上述設(shè)置器才可用。如果您僅針對(duì)該(或較新的)平臺(tái),則可以使用。如果您還想支持姜餅設(shè)備(Android 2.3 / API級(jí)別9+),則可以改用backport版本DatePicker


查看完整回答
反對(duì) 回復(fù) 2019-12-02
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

由于我正在游覽且無法訪問我的PC,因此我無法為您提供工作代碼。但是我可以給您一種實(shí)現(xiàn)目標(biāo)的方法(或者我認(rèn)為)。


我不確定這是否會(huì)完美運(yùn)行,但是值得嘗試的任何方式。


請(qǐng)嘗試此代碼并通知我。


“ DatepickerType”是該類的Integer公共成員變量。


private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {


    // when dialog box is closed, below method will be called.

    public void onDateSet(DatePicker view, int selectedYear,

            int selectedMonth, int selectedDay) {

        int y = Calendar.getInstance().get(Calendar.YEAR);

        switch(DatepickerType){

        case 1:

            if(selectedYear>(y-2)){

                //Add message if you want

                selectedYear = y-2;

            }

                else if(selectedYear<(y-12)) {

                //Add msg if u want

                    selectedYear = y-12;

            }


        case 2:

            if(selectedYear>(y)){

                //Add message if you want

                selectedYear = y;

            }

                else if(selectedYear<(y-2)) {

                //Add msg if u want

                    selectedYear = y-2;

            }

        }


        String year1 = String.valueOf(selectedYear);

        String month1 = String.valueOf(selectedMonth+1);

        String day1 = String.valueOf(selectedDay);

        //do what you need

        setLastStatus();


    }

};


查看完整回答
反對(duì) 回復(fù) 2019-12-02
  • 3 回答
  • 0 關(guān)注
  • 684 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)