日期时间对话框

来源:互联网 发布:wlan网络是什么 编辑:程序博客网 时间:2024/05/21 04:17
package com.example.datedialog;/*博客作者 X_x_O_0_o  *日期2015-1-21 *程序描述:两个按钮一个文本框。单击第一个按钮可以获取日期,单击第二个按钮获取时间。放到文本框中。 * * */import java.util.Calendar;import android.R.string;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.DatePicker;import android.widget.EditText;import android.widget.TimePicker;public class MainActivity extends Activity {private Button button1, button2;private EditText edittext1;private DatePickerDialog dateDialog; // Dialog的声明方式。private TimePickerDialog timeDialog;private int year, month, day; // 用变量还是要先声明。private int hour, min;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) this.findViewById(R.id.button1); // 实例化button2 = (Button) this.findViewById(R.id.button2);// edittext1 = (EditText)this.findViewById(R.id.edi)edittext1 = (EditText) findViewById(com.example.datedialog.R.id.editText1);Calendar calendar = Calendar.getInstance(); // 实例化一个日历。并设置三个参数。year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH);day = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);min = calendar.get(Calendar.MINUTE);//下面是第一个按钮的设置。就两步。先设置对话框,再设置按钮。// 下面的第一个参数是this,第二个参数callBack是对话框确定后返回的事件,把要做的时间工作放这里。dateDialog = new DatePickerDialog(this, new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {// TODO Auto-generated method stub// 因为月份上是0到11,所以正确显示要加上1.String dateset = year + "-" + (monthOfYear + 1) + "-"+ dayOfMonth;edittext1.setText(dateset);}}, year, month, day);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// 在button的单击事件中只需要启用对话框的show方法即可。dateDialog.show();}});//第二个按键获取时间的设置。其中hour和min都是从Calendar中得到的。// 下面这个第一个参数不知道只用this也行,最后一个参数是是否为24进制。timeDialog = new TimePickerDialog(this,new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay,int minute) {// TODO Auto-generated method stubString timeshow = hourOfDay + ":" + minute;edittext1.setText(timeshow);}}, hour, min, true);button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubtimeDialog.show();}});}}

收获:使用日期时间对话框其实很简单。

步骤就是:声明对话框那些细节就不说了。设置对话框,直接在new的时候设置,在其中第二个参数中设置获取时间的对应事件(对话框获取)。最后用button的单击事件来调用对话框的显示就可以了。

部分代码:

1、时间对话框的设置

<span style="white-space:pre"></span>timedialog = new TimePickerDialog(context, callBack, hourOfDay, minute, is24HourView)
参数context用this,hourOfDay和minute用Calendar获取时间。最后一个参数用布尔型来表示其是否是24小时制。

重要的是第二个参数callBack,它是个回调方法。用new OnTimeSetListener()方法。这个方法里设置的是响应这个事件(如获取时间)的内容。

2、日期对话框的设置

<span style="white-space:pre"></span>dateDialog = new DatePickerDialog(context, callBack, year, monthOfYear, dayOfMonth);
new出来的同时设置就可以了。第一个参数用this(可以加上MainActivity),后面三个参数是年月日参数。

重要的还是callBack参数,用回调方法。用new OnDateSetListener方法,其中的函数中也是一个响应的事件即可。

3、调用对话框

在button中单击事件中调用 dateDialog.show(); 即可。

4、获取系统日期

获取日期和时间都是用Calendar。

从声明到获取:

<span style="white-space:pre"></span>Calendar calendar = Calendar.getInstance(); // 实例化一个日历。并设置三个参数。year = calendar.get(Calendar.YEAR);<span style="white-space:pre"></span>//变量要在前面声明是int型month = calendar.get(Calendar.MONTH);<span style="white-space:pre"></span>//变量没有秒。day = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);<span style="white-space:pre"></span>//这里用HOUR和HOUR_OF_DAY有时候会有区别,后者是24小时制。min = calendar.get(Calendar.MINUTE);
运行结果:


0 0
原创粉丝点击