7.1.2 DatePicker结合案例详解

简介: DatePicker是Android的日期设置控件。DatePicker类的继承图如下:<br>java.lang.Object<br>   ↳android.view.View<br>    ↳android.view.ViewGroup<br>    ↳android.widget.FrameLayout<br>    ↳android.widget.DatePicker
DatePicker是Android的日期设置控件。DatePicker类的继承图如下:
java.lang.Object
   ↳android.view.View
   ↳android.view.ViewGroup
   ↳android.widget.FrameLayout
   ↳android.widget.DatePicker
android.widget.DatePicker继承了android.widget.FrameLayout框架布局类。DatePicker例子如图7-7所示,从左到右是年、月、日的设置,改变年月日都会触发OnDateChanged事件,当点击“按钮”可以获得当前设置的时间。
 


图7-7 DatePicker
请参考代码清单7-6,完整代码请参考chapter7_1工程中chapter7_DatePicker代码部分。
【代码清单7-6】
public class chapter7_DatePicker extends Activity {
private TextView mDateDisplay;
private DatePicker datePicker;
private Calendar c;
private Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.datepicker_layout);
datePicker = (DatePicker) findViewById(R.id.datePicker);

c = Calendar.getInstance();
mDateDisplay = (TextView) findViewById(R.id.datetextview);
datePicker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c
.get(Calendar.DAY_OF_MONTH),
new DatePicker.OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mDateDisplay.setText("[" + year + "-"
+ (monthOfYear + 1) + "-" + dayOfMonth + "]"
+ "[" + view.getYear() + "-"
+ (view.getMonth() + 1) + "-"
+ view.getDayOfMonth() + "]");

}

});

button = (Button) findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
mDateDisplay.setText(String.valueOf(datePicker.getYear())
+ " - " + String.valueOf(datePicker.getMonth() + 1)
+ " - " + String.valueOf(datePicker.getDayOfMonth()));
}
});
}
}
Calendar.getInstance()会获得一个Calendar实例,这是一个日期实例,通过它的get(Calendar.YEAR)方法可以获得年,get(Calendar.MONTH)方法加1获得月, get(Calendar.DAY_OF_MONTH)方法获得日期。DataPicker控件的核心代码是init方法:
datePicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {…}
在init方法中初始化DataPicker和事件的处理。
DataPicker的布局文件请参考代码清单7-7,完整代码请参考chapter7_1工程中datepicker_layout.xml代码部分(chapter7_1/res/layout/datepicker_layout.xml)。
【代码清单7-7】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<DatePicker android:id="@+id/datePicker"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</DatePicker>
<TextView android:id="@+id/datetextview" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />

<Button android:text="按钮" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
                                 出自《Android开发案例驱动教程》第七章
目录
相关文章
|
1月前
|
JavaScript
vue element plus TimePicker 时间选择器
vue element plus TimePicker 时间选择器
31 0
|
自然语言处理 前端开发 JavaScript
最好用的 8 款 React Datepicker 时间日期选择器测评推荐
React 时间日期选择器(date-timepicker)组件,与表单、富文本、表格、拖拽等组件一样,是大家用 React 搭建项目时使用最频繁的组件之一。React DateTimePicker 除了基础选择日期时间外,还有非常多样的功能配合不同场景使用,比如 12/24小时,禁止选择某些日期,高亮某些日期,夜间模式,多语言,酒店订单的特别场景等。本文记录了我自己使用多年最好用的 8 款 React DateTimePicker 组件,每一款都经过我实际测试,推荐给大家。
1624 0
最好用的 8 款 React Datepicker 时间日期选择器测评推荐
|
JavaScript 机器学习/深度学习 UED
jQuery weui时间选择器datetimepicker只要年月日解决方案
只想选择年月日,jquery-weui建议使用日历但实际的需求如果选择生日等等,日历选择的用户体验很不好,所以进行源码修改,看下面颜色标注。 HTML部分 下面是JS部分 $("#birth").
4916 0
BootStrop datepicker 选择年月
BootStrop datepicker 选择年月
82 0
|
JavaScript vr&ar API