第32章、日期对话框DatePickerDialog(从零开始学Android)

本文介绍了在Android应用中如何使用DatePickerDialog控件来设置日期。通过在MainActivity.java文件中添加相关代码,实现日期对话框的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在Android应用中,设置日期和时间是非常简单的事,由日期和时间对话框控件搞定。

  

一、界面

  1、打开“src/com.genwoxue.datetimediy/active_main.java”文件。

   然后输入以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    android:id="@+id/LinearLayout01"    
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"    
    android:orientation="vertical"    
    xmlns:android="http://schemas.android.com/apk/res/android">    
    	<EditText 
    	    android:id="@+id/et"         
    	    android:layout_width="fill_parent"        
    	    android:layout_height="wrap_content"         
    	    android:editable="false"        
    	    android:cursorVisible="false" />    
    	
    	<Button 
    	    android:text="日期对话框"         
    	    android:id="@+id/dateBtn"        
    	    android:layout_width="fill_parent"        
    	    android:layout_height="wrap_content" />    
    	
    	<Button 
    	    android:text="时间对话框"         
    	    android:id="@+id/timeBtn"        
    	    android:layout_width="fill_parent"        
    	    android:layout_height="wrap_content" />    
    	
    	<DigitalClock         
    	    android:text="@+id/digitalClock"        
    	    android:textSize="20dip"         
    	    android:gravity="center"        
    	    android:id="@+id/DigitalClock01"         
    	    android:layout_width="fill_parent"        
    	    android:layout_height="wrap_content" />    
    	
    	<AnalogClock         
    	    android:id="@+id/analogClock"        
    	    android:gravity="center"         
    	    android:layout_width="fill_parent"        
    	    android:layout_height="wrap_content" />

</LinearLayout>
    	


 

  2、打开“src/com.genwoxue.datetimediy/MainActivity.java”文件。

  然后输入以下代码:

package com.genwoxue.datetimedialog;

import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;

public class MainActivity extends Activity {

	 private Button dateBtn = null;    
	 private Button timeBtn = null;    
	 private EditText et=null;    
	 private final static int DATE_DIALOG = 0;    
	 private final static int TIME_DIALOG = 1;    
	 private Calendar c = null;    
	 
	 @Override    
	 public void onCreate(Bundle savedInstanceState) {        
		 super.onCreate(savedInstanceState);        
		 setContentView(R.layout.activity_main);        
		 et=(EditText)findViewById(R.id.et);        
		 dateBtn = (Button) findViewById(R.id.dateBtn);        
		 timeBtn = (Button) findViewById(R.id.timeBtn);        
		 dateBtn.setOnClickListener(new View.OnClickListener(){            
			 public void onClick(View v) {                
			 showDialog(DATE_DIALOG);            
			 }        
		});        
	
		timeBtn.setOnClickListener(new View.OnClickListener(){            
			 public void onClick(View v) {                
			  showDialog(TIME_DIALOG);            
			 }        
		});    
	}    /**     * 创建日期及时间选择对话框     */    
	 
	 @Override   
	 protected Dialog onCreateDialog(int id) {        
		 Dialog dialog = null;        
		 switch (id) {        
		 	case DATE_DIALOG:            
		 		c = Calendar.getInstance();            
		 		dialog = new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
		 			public void onDateSet(DatePicker dp, int year,int month, int dayOfMonth) {
		 				et.setText("您选择了:" + year + "年" + (month+1) + "月" + dayOfMonth + "日"); 
		 			} 
		 		}, c.get(Calendar.YEAR), // 传入年份              
		 		c.get(Calendar.MONTH), // 传入月份               
		 		c.get(Calendar.DAY_OF_MONTH) // 传入天数          
		 		);            
		 		break;        
		 	case TIME_DIALOG:            
		 		c=Calendar.getInstance();            
		 		dialog=new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener(){ 
		 			public void onTimeSet(TimePicker view, int hourOfDay, int minute) {  
		 				et.setText("您选择了:"+hourOfDay+"时"+minute+"分");                 
		 			}
		 		},
		 		c.get(Calendar.HOUR_OF_DAY),
		 		c.get(Calendar.MINUTE),
		 		false
		 		);
		 		break;        
		 	}        
		 	return dialog;    
		 }
}


  2、运行,显示界面:

     

   

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋会全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值