在无意之间发现了一个安卓控件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();
}
}