天天看點

TextView或者EditView元件加上時間選擇器的聯合使用

  開發中經常會遇見在一個編輯框或者文本框中選擇日期,點選一個文本框彈出一個日期選擇器的元件,在此基礎上進行選擇,廢話少說,直接上代碼:

    先定義兩個常量,後面選擇的時候會用到

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) {