安卓通知的使用系列7:对话框通知的使用之日期对话框、时间对话框

日期对话框和时间对话框是android开发中使用比较少的一种对话框显示方式,这里我们也介绍它们的使用方式。

整体思路:在xml文件中定义两个button控件,并在activity中设置它们的点击事件,定义一个Calendar类,初始化年、月、日、小时、分钟,在第一个点击事件中,定义一个DatePickerDialog对象,显示日期对话框并定义它的选择日期的触发事件,在第二个点击事件中,定义一个TimePickerDialog对象,显示时间对话框并定义它的选择时间的触发事件。

MainActivity.java文件:

public class MainActivity extends Activity {

	private Button button,button2;
	private int year,monthOfYear,dayOfMonth;//初始化年月日
	private int hourOfDay,minute;//初始化小时、分钟
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button=(Button)findViewById(R.id.button1);
		button2=(Button)findViewById(R.id.button2);
//		初始化年月日的日期
		Calendar calendar=Calendar.getInstance();
		year=calendar.get(Calendar.YEAR);
		monthOfYear=calendar.get(Calendar.MONTH);
		dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);
		
//		初始化小时和分钟
		hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
		minute=calendar.get(Calendar.MINUTE);
//		完成对年月日的初始化
		button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				DatePickerDialog datePickerDialog=new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
					
					@Override
					public void onDateSet(DatePicker arg0, int year, int monthOfYear, int dayOfMonth) {
						// 当用户选择日期的时候会触发
//						2013年-4月-5日
						String string=year+"年-"+monthOfYear+"月-"+dayOfMonth+"日";
						Toast.makeText(MainActivity.this, string, 1).show();
					}
				}, year, monthOfYear, dayOfMonth);
				datePickerDialog.show();
			}
		});
		
		button2.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				TimePickerDialog dialog=new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
					
					@Override
					public void onTimeSet(TimePicker arg0, int hourOfDay, int minute) {
						// TODO Auto-generated method stub
						String string=hourOfDay+"时:"+minute+"分";
						Toast.makeText(MainActivity.this, string, 1).show();
					}
				}, hourOfDay, minute, true);//true表示选择的是24小时
				dialog.show();
			}
		});
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值