开发中经常会遇见在一个编辑框或者文本框中选择日期,点击一个文本框弹出一个日期选择器的组件,在此基础上进行选择,废话少说,直接上代码:
先定义两个常量,后面选择的时候会用到
private static final int dialog = 1 ;
private static final int dialog2 = 2 ;
定义点击事件
view.onclicklistener datatextlist = new textonclicklistener(dialog) ;
view.onclicklistener datatext2list = new text2onclicklistener(dialog2) ;
text.setonclicklistener(datatextlist);
text1.setonclicklistener(datatext2list) ;
定义显示的对话框以及显示的日期
public dialog oncreatedialog(int id){
calendar calendar = calendar.getinstance() ;
dialog dialog = null ;
switch(id){
case 1 :
datepickerdialog.ondatesetlistener datatextlist = new datepickerdialog.ondatesetlistener() {
@override
public void ondateset(datepicker picker, int year, int month, int dayofmonth) {
text.settext(year+"-"+(month+1)+"-"+dayofmonth) ;
}
};
dialog = new datepickerdialog(mainactivity.this, datatextlist, calendar.get(calendar.year),
calendar.get(calendar.minute), calendar.get(calendar.day_of_month)) ;
break;
case 2 :
datepickerdialog.ondatesetlistener datatext2list = new datepickerdialog.ondatesetlistener() {
public void ondateset(datepicker pick, int year, int month, int dayofmonth) {
text1.settext(year+"-"+(month+1)+"-"+dayofmonth) ;
dialog = new datepickerdialog(mainactivity.this, datatext2list, calendar.get(calendar.year),
calendar.get(calendar.month), calendar.get(calendar.day_of_month)) ;
break ;
return dialog ;
以下是实现点击事件显示对话框
private class textonclicklistener implements view.onclicklistener{
private int dialogid = 0; //默认为0则不显示对话框
public textonclicklistener(int dialogid) {
this.dialogid = dialogid;
}
@override
public void onclick(view view) {
showdialog(dialogid);
}
private class text2onclicklistener implements view.onclicklistener{
public text2onclicklistener(int dialogid) {