关键点:
1. getMonth(): 获取当前月(注意:返回数值为0..11,需要自己+1来显示)
2. 初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:date.getYear() + 1900)
DatePicker介绍 DatePicker 继承FrameLayout类,
日期选择控件的主要功能是向用户提供包含年、月、日得日期数据并允许用户对其修改。 如果要捕获用户修改日期选择控件的数据事件响应,需要为DatePicker添加一个OnDateChangedListener监听器. 1.重要方法
- getDayOfMonth():获取当前Day
- getMonth(): 获取当前月(注意:返回数值为0..11,需要自己+1来显示)
- getYear() 获取当前年
- updateDate(int year, int monthOfYear, int dayOfMonth):更新日
- init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
- 参数
- year 初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:date.getYear() + 1900)
- monthOfYear 初始月。
- dayOfMonth 初始日。
- onDateChangedListener 日期改变时通知用户的事件监听,可以为空(null)。
getDayOfMonth():获取当前Day getMonth(): 获取当前月(注意:返回数值为0..11,需要自己+1来显示) getYear() 获取当前年 updateDate(int year, int monthOfYear, int dayOfMonth):更新日 init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener) 参数 year 初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:date.getYear() + 1900) monthOfYear 初始月。 dayOfMonth 初始日。 onDateChangedListener 日期改变时通知用户的事件监听,可以为空(null)。
效果图
本程序main.xml源码
- <a href="mailto:"></a><pre class="cpp" name="code"><?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="日期选择控件"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- </pre><pre class="cpp" name="code"><DatePicker
- android:id="@+id/datePicker"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- <TextView
- android:id="@+id/textView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"/>
- </LinearLayout></pre><br>
- <pre></pre>
- <p><span style="font-size: 18px;">Java源码</span></p>
- <pre class="html" name="code">package com.sx.DatePicker;
- import java.util.Calendar;
- import java.util.Locale;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.DatePicker;
- import android.widget.DatePicker.OnDateChangedListener;
- import android.widget.TextView;
- public class DatePickerActivity extends Activity
- {
- private DatePicker datePicker = null;
- private TextView textView = null;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- datePicker = (DatePicker)findViewById(R.id.datePicker);
- textView = (TextView) findViewById(R.id.textView);
- //创建一个日历引用calendar,通过静态方法getInstance() 从指定时区 Locale.CHINA 获得一个日期实例
- Calendar calendar = Calendar.getInstance(Locale.CHINA);
- int year = calendar.get(Calendar.YEAR);
- int monthOfYear = calendar.get(Calendar.MONTH);
- int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
- datePicker.init(year, monthOfYear, dayOfMonth, new OnDateChangedListener()
- {
- @Override
- public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
- {
- textView.setText("你选择的日期是: " + year + "年" + (monthOfYear + 1) + "月" + dayOfMonth + "日");
- }
- });
- }
- }
- </pre>
- <p><br>
- <span style="font-size: 18px;">以对话框形式显示日期视图</span></p>
- <p><span style="font-size: 18px;">效果图</span></p>
- <p><span style="font-size: 18px;"><img alt="" src="http://hi.csdn.net/attachment/201108/15/0_1313384568KmfQ.gif"></span></p>
- <p> </p>
- <p><span style="font-size: 18px;">java源码实现</span></p>
- <pre class="html" name="code">package com.sx.DatePickerDialog;
- import java.util.Calendar;
- import java.util.Locale;
- import android.app.Activity;
- import android.app.DatePickerDialog;
- import android.os.Bundle;
- import android.widget.DatePicker;
- public class DatePickerDialogActivity extends Activity
- {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- final Calendar calendar = Calendar.getInstance(Locale.CHINA);
- final int year = calendar.get(Calendar.YEAR);
- final int month = calendar.get(Calendar.MONTH);
- final int day = calendar.get(Calendar.DAY_OF_MONTH);
- DatePickerDialog datePickerDialog = new DatePickerDialog(this, setting, year, month, day);
- datePickerDialog.show();
- }
- //当点击DatePickerDialog控件的设置按钮时,调用该方法
- DatePickerDialog.OnDateSetListener setting = new DatePickerDialog.OnDateSetListener()
- {
- @Override
- public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth)
- {
- setTitle("你按下了日期设置键");
- }
- };
- }</pre>
- <p><br>
- </p>
- <pre></pre>
- <pre></pre>