zoukankan      html  css  js  c++  java
  • android 开发DatePickerDialog/TimePickerDialog对话框的实现

     AndroidAPI提供了Dialog对话框控件,DatePickerDialog/TimePickerDialog均是AlertDialog的子类,通过DatePickerDialog/TimePickerDialog日期/时间的对话框来进行时间的选择。

      layout页面:

      

     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     <Button
    12         android:id="@+id/button2"
    13         android:layout_width="wrap_content"
    14         android:layout_height="wrap_content"
    15         android:layout_alignLeft="@+id/button1"
    16         android:layout_alignParentBottom="true"
    17         android:layout_alignRight="@+id/button1"
    18         android:layout_marginBottom="29dp"
    19         android:text="时间对话框" />
    20 
    21     <Button
    22         android:id="@+id/button1"
    23         android:layout_width="wrap_content"
    24         android:layout_height="wrap_content"
    25         android:layout_above="@+id/button2"
    26         android:layout_alignParentLeft="true"
    27         android:layout_marginBottom="25dp"
    28         android:layout_marginLeft="72dp"
    29         android:text="日期对话框" />
    30 
    31     <EditText
    32         android:id="@+id/editText1"
    33         android:layout_width="wrap_content"
    34         android:layout_height="wrap_content"
    35         android:layout_alignParentTop="true"
    36         android:layout_centerHorizontal="true"
    37         android:layout_marginTop="22dp"
    38         android:ems="10"/>
    39 
    40 </RelativeLayout>

      activity:

      

     1 package com.example.android_date_timedialog;
     2 
     3 import java.util.Calendar;
     4 
     5 import android.app.Activity;
     6 import android.app.DatePickerDialog;
     7 import android.app.DatePickerDialog.OnDateSetListener;
     8 import android.app.TimePickerDialog;
     9 import android.app.TimePickerDialog.OnTimeSetListener;
    10 import android.os.Bundle;
    11 import android.view.Menu;
    12 import android.view.View;
    13 import android.widget.Button;
    14 import android.widget.DatePicker;
    15 import android.widget.EditText;
    16 import android.widget.TimePicker;
    17 import android.widget.Toast;
    18 /**
    19  * @author xiaowu
    20  * NOTE:日期时间对话框控件,继承自AlertDialog对话框
    21  */
    22 public class MainActivity extends Activity {
    23     private Button button ;
    24     private Button button2 ;
    25     private EditText editText ;
    26     //日期对话框
    27     private DatePickerDialog datePickerDialog ;
    28     //时间选择对话框
    29     private TimePickerDialog timePickerDialog;
    30     private int year, monthOfYear, dayOfMonth, hourOfDay, minute, is24HourView ;
    31     @Override
    32     protected void onCreate(Bundle savedInstanceState) {
    33         super.onCreate(savedInstanceState);
    34         setContentView(R.layout.activity_main);
    35         button = (Button) findViewById(R.id.button1);
    36         button2 = (Button) findViewById(R.id.button2);
    37         editText = (EditText) findViewById(R.id.editText1);
    38         //初始化日历
    39         Calendar calendar = Calendar.getInstance();
    40         year = calendar.get(Calendar.YEAR);
    41         monthOfYear = calendar.get(Calendar.MONTH);
    42         dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
    43         hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);
    44         minute = calendar.get(Calendar.MINUTE);
    45         //初始化日期datePickerDialog,  注册日期选择监听器
    46         datePickerDialog = new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
    47             @Override
    48             public void onDateSet(DatePicker view, int year, int monthOfYear,
    49                     int dayOfMonth) {
    50                 // TODO Auto-generated method stub
    51                 String text = year+"-"+(monthOfYear+1)+"-"+dayOfMonth ;
    52                 editText.setText(text);
    53             }
    54         }, year, monthOfYear, dayOfMonth);
    55         //按钮点击后显示日期选择datePickerDialog
    56         button.setOnClickListener(new View.OnClickListener() {
    57             @Override
    58             public void onClick(View v) {
    59                 // TODO Auto-generated method stub
    60                 datePickerDialog.show();
    61             }
    62         });
    63         //初始化时间timePickerDialog,  注册时间选择监听器
    64         timePickerDialog = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
    65             @Override
    66             public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    67                 // TODO Auto-generated method stub
    68                 Toast.makeText(MainActivity.this, hourOfDay+":"+minute, 1).show();
    69             }
    70         }, hourOfDay, minute, true);
    71         //按钮点击后显示时间选择timePickerDialog
    72         button2.setOnClickListener(new View.OnClickListener() {
    73             @Override
    74             public void onClick(View v) {
    75                 // TODO Auto-generated method stub
    76                 timePickerDialog.show();
    77             }
    78         });
    79     }
    80 
    81     @Override
    82     public boolean onCreateOptionsMenu(Menu menu) {
    83         // Inflate the menu; this adds items to the action bar if it is present.
    84         getMenuInflater().inflate(R.menu.main, menu);
    85         return true;
    86     }
    87 
    88 }
  • 相关阅读:
    【BZOJ1294】围豆豆(SCOI2009)-状压+BFS
    【BZOJ3244】树的计数(NOI2013)-概率期望+数学证明
    【BZOJ4826】影魔(AHOI&HNOI2017)-线段树+离线
    【BZOJ3832】Rally(POI2014)-拓扑排序+最长路+堆
    【BZOJ4556】字符串(TJOI&HEOI2016)-后缀数组+二分+RMQ+主席树
    【BZOJ1029】建筑抢修(JSOI2007)-贪心+堆
    【BZOJ1057】棋盘制作(ZJOI2007)-DP+悬线法
    【BZOJ1025】游戏(SCOI2009)-数论+背包DP
    java日期操作
    list类型for遍历
  • 原文地址:https://www.cnblogs.com/HEWU10/p/4342180.html
Copyright © 2011-2022 走看看