定义的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorGray"
android:orientation="vertical"
>
<DatePicker
android:id="@+id/datePicker"
android:layout_width="match_parent"
android:layout_height="400dp"
android:startYear="2000"
android:endYear="2017"
android:calendarViewShown="true"
android:spinnersShown="true"
/>
<TextView
android:id="@+id/showText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
主程序文件:
package com.toby.personal.testlistview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.DatePicker;
import android.widget.TextView;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
final private static String TAG = "Toby_Test";
private int year;
private int month;
private int day;
private int hour;
private int minute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DATE);
hour = c.get(Calendar.HOUR);
minute = c.get(Calendar.MINUTE);
final DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int y, int m, int d) {
year = y;
month = m;
day = d;
showDate(y, m, d, hour, minute);
}
});
showDate(year, month, day, hour, minute);
}
private void showDate(int y, int M, int d, int h, int m) {
TextView showText = (TextView) findViewById(R.id.showText);
showText.setText("Current Datetime: " + y + "/" + (M + 1) + "/" + d + " " + h + ":" + m);
}
}
该示例的运行效果:
使用示例
参考文献:《疯狂Android讲义(第2版)》