android studio 日期选择DatePickerDialog取值

android studio 日期选择DatePickerDialog取值

Android7 .1.1   API25   下测试通过

1.activity_main.xml页面定义TextView。

activity_main.xml页面:


  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity" >  
  10.   
  11.     <TextView  
  12.         android:id="@+id/tvShowDialog"  
  13.         android:layout_width="wrap_content"  
  14.         android:layout_height="wrap_content"  
  15.         android:layout_alignParentTop="true"  
  16.         android:layout_centerHorizontal="true"  
  17.         android:layout_marginTop="76dp"  
  18.         android:text="日期" />  
  19.   
  20. RelativeLayout>  
  21. 2.MainActivity.java页面打开获取当前日期以及DatePickerDialog。
    MainActivity.java页面:
    1. package com.bysjlwdx.datepickerdemo;  
    2.   
    3. import java.util.Calendar;  
    4.   
    5. import android.os.Bundle;  
    6. import android.app.Activity;  
    7. import android.app.DatePickerDialog;  
    8. import android.app.DatePickerDialog.OnDateSetListener;  
    9. import android.util.Log;  
    10. import android.view.View;  
    11. import android.view.View.OnClickListener;  
    12. import android.widget.DatePicker;  
    13. import android.widget.TextView;  
    14.   
    15. public class MainActivity extends Activity implements OnClickListener{  
    16.     private TextView tvShowDialog;  
    17.     private Calendar cal;  
    18.     private int year,month,day;  
    19.   
    20.     @Override  
    21.     protected void onCreate(Bundle savedInstanceState) {  
    22.         super.onCreate(savedInstanceState);  
    23.         setContentView(R.layout.activity_main);  
    24.           
    25.         //获取当前日期  
    26.         getDate();  
    27.           
    28.         tvShowDialog=(TextView) findViewById(R.id.tvShowDialog);  
    29.         tvShowDialog.setOnClickListener(this);  
    30.           
    31.     }  
    32.   
    33.     //获取当前日期  
    34.     private void getDate() {  
    35.         cal=Calendar.getInstance();  
    36.         year=cal.get(Calendar.YEAR);       //获取年月日时分秒    
    37.         Log.i("wxy","year"+year);  
    38.         month=cal.get(Calendar.MONTH);   //获取到的月份是从0开始计数  
    39.         day=cal.get(Calendar.DAY_OF_MONTH);      
    40.     }  
    41.   
    42.     @Override  
    43.     public void onClick(View view) {  
    44.         switch (view.getId()) {  
    45.         case R.id.tvShowDialog:  
    46.             OnDateSetListener listener=new OnDateSetListener() {  
    47.                   
    48.                 @Override  
    49.                 public void onDateSet(DatePicker arg0, int year, int month, int day) {  
    50.                     tvShowDialog.setText(year+"-"+(++month)+"-"+day);      //将选择的日期显示到TextView中,因为之前获取month直接使用,所以不需要+1,这个地方需要显示,所以+1  
    51.                 }  
    52.             };  
    53.             DatePickerDialog dialog=new DatePickerDialog(MainActivity.this0,listener,year,month,day);//后边三个参数为显示dialog时默认的日期,月份从0开始,0-11对应1-12个月  
    54.             dialog.show();  
    55.             break;  
    56.   
    57.         default:  
    58.             break;  
    59.         }  
    60.     }  
    61.   
    62.   
    63. }  

3.需要注意的是,获取日期时月份是从0开始,另外打开对话框时默认月份也是从0开始,因为month本来就是系统中获取,不需要加1,但是指定具体数字时,需要在你想显示的月份上

GitHub下载地址

CSDN下载地址

你可能感兴趣的:(Android,Android,studio)