android studio 日期选择DatePickerDialog取值
Android7 .1.1 API25 下测试通过
1.activity_main.xml页面定义TextView。
activity_main.xml页面:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context=".MainActivity" >
- <TextView
- android:id="@+id/tvShowDialog"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="76dp"
- android:text="日期" />
- </RelativeLayout>
-
2.MainActivity.java页面打开获取当前日期以及DatePickerDialog。MainActivity.java页面:
- package com.bysjlwdx.datepickerdemo;
- import java.util.Calendar;
- import android.os.Bundle;
- import android.app.Activity;
- import android.app.DatePickerDialog;
- import android.app.DatePickerDialog.OnDateSetListener;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.DatePicker;
- import android.widget.TextView;
- public class MainActivity extends Activity implements OnClickListener{
- private TextView tvShowDialog;
- private Calendar cal;
- private int year,month,day;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //获取当前日期
- getDate();
- tvShowDialog=(TextView) findViewById(R.id.tvShowDialog);
- tvShowDialog.setOnClickListener(this);
- }
- //获取当前日期
- private void getDate() {
- cal=Calendar.getInstance();
- year=cal.get(Calendar.YEAR); //获取年月日时分秒
- Log.i("wxy","year"+year);
- month=cal.get(Calendar.MONTH); //获取到的月份是从0开始计数
- day=cal.get(Calendar.DAY_OF_MONTH);
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.tvShowDialog:
- OnDateSetListener listener=new OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker arg0, int year, int month, int day) {
- tvShowDialog.setText(year+"-"+(++month)+"-"+day); //将选择的日期显示到TextView中,因为之前获取month直接使用,所以不需要+1,这个地方需要显示,所以+1
- }
- };
- DatePickerDialog dialog=new DatePickerDialog(MainActivity.this, 0,listener,year,month,day);//后边三个参数为显示dialog时默认的日期,月份从0开始,0-11对应1-12个月
- dialog.show();
- break;
- default:
- break;
- }
- }
- }