安卓製作日期選擇器Datepicker

李永傑AAAA發表於2018-11-12

在無意之間發現了一個安卓控制元件Datepicker,為日期類控制元件。我覺得挺好玩的,就像日曆一樣。

製作日期選擇器主要知識點右以下幾點:

獲取日曆物件:
Calendar calendar =Calendar.getInstance();
獲取當前年:
year=calendar.get(Calendar.YEAR);
獲取當前月:
month=calendar.get(Calendar.MONTH);
獲取當前天:
day=calendar.get(Calendar.DAY_OF_MONTH);
初始化日期選擇器,使用匿名內部類監聽:
datePicker.init(year,month,day,new DatePicker.OnDateChangedListener());

 

在activity_main_xml檔案中直接新增Datepicker控制元件。

在ManActivity.java檔案中對Datepicker進行監聽,同Toast方法監聽顯示出你顯示的時哪一個日期。

package com.example.a13468.mydemo07_datepicker;
//日期選擇器

import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.Toast;

import java.util.Calendar;

public class MainActivity extends Activity {
    int year,month,day;
    private DatePicker datePicker;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        datePicker=findViewById(R.id.datepicker);
        //獲取日曆物件
        Calendar calendar=Calendar.getInstance();
        year=calendar.get(Calendar.YEAR);
        month=calendar.get(Calendar.MONTH);
        day=calendar.get(Calendar.DAY_OF_MONTH);

        //初始化日期選擇器,使用匿名內部類監聽
        datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                MainActivity.this.year=year;
                MainActivity.this.month=monthOfYear;
                MainActivity.this.day=dayOfMonth;
                show(year,monthOfYear,dayOfMonth);
            }
        });

    }
    private  void show(int year,int month,int day){
        String str=year+"年"+(month+1)+"月"+day+"日";
        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();

    }
}

 

相關文章