第11章、日期DatePicker与时间TimePicker控件(从零开始学Android)

  在Android App应用中,设置日期和时间时间也是经常遇见的,下面我们一起学习一下。

  我们需要学习Android中的基本控件:(1)日期选择控件DatePicker (2)时间选择控件TimePicker。

  

一、设计登录窗口

  打开“res/layout/activity_main.xml”文件。

   1、分别从工具栏向activity拖出1个日期选择控件DatePicker、 1个时间选择控件TimePicker、1个按钮Button。控件来自Time&Date、Form Widgets。

  

  2、打开activity_main.xml文件。

  我们把自动生成的代码修改成如下代码,具体为:

  (1)DatePicker的id修改为tody。

  (2)TimePicker的id修改为now;

  (3)Button的id修改为save,其文本修改为"保存"。

  

  3、界面如下:

  

二、单击事件 

  打开“src/com.genwoxue.datepickertimepicker/MainActivity.java”文件。

  然后输入以下代码:

  

  我们着重分析一下带有浅蓝色背景部分。

  1、第①部分

  导入与DatePicker与TimePicker相关的2个包。

  2、第②部分

  声明3个控件变量。

  3、第③部分

  (1)findViewById()方法完成3个控件的捕获。

  (2)“保存”按钮添加单击监听事件:btnSave.setOnClickListener(new SaveOnClickListener())。

  4、第④部分

  getYear()、getMonth()、getDayOfMonth()方法获取年、月、日。

  5、第⑤部分

  getCurrentHour()、getCurrentMinute()方法获取时、分。

  6、第⑥部分

  使用Toast显示日期DatePicker、时间TimePicker控件选择的日期与时间。

  效果如下:

  

三、附代码

  1、activity_main.xml源码  



    

    

    

 

  2、MainActivity.java源码

package com.genwoxue.datepickertimepicker;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Button;
import android.widget.Toast;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

	private DatePicker dpToday=null;
	private TimePicker tpNow=null;
	private Button btnSave=null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		dpToday=(DatePicker)super.findViewById(R.id.today);
		tpNow=(TimePicker)super.findViewById(R.id.now);
		btnSave=(Button)super.findViewById(R.id.save);
		btnSave.setOnClickListener(new SaveOnClickListener());
	}
	
	private class SaveOnClickListener implements OnClickListener{
		public void onClick(View view){
			int iYear=0;
			int iMonth=0;
			int iDay=0;
			String sDate="";
			iYear=dpToday.getYear();
			iMonth=dpToday.getMonth()+1;
			iDay=dpToday.getDayOfMonth();
			sDate="日期:"+String.valueOf(iYear)+"年"+String.valueOf(iMonth)+"月"+String.valueOf(iDay)+"日";
			
			int iHour=0;
			int iMin=0;
			String sTime="";
			iHour=tpNow.getCurrentHour();
			iMin=tpNow.getCurrentMinute();
			sTime="时间:"+String.valueOf(iHour)+"时"+String.valueOf(iMin)+"分";
			
			Toast.makeText(getApplicationContext(), sDate+sTime,Toast.LENGTH_LONG).show();			
		}
	}
}


 

你可能感兴趣的:(Android,从零开始学Android)