温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

TextView或者EditView组件加上时间选择器的联合使用

发布时间:2020-06-20 20:14:41 来源:网络 阅读:698 作者:清甘茶 栏目:开发技术

  开发中经常会遇见在一个编辑框或者文本框中选择日期,点击一个文本框弹出一个日期选择器的组件,在此基础上进行选择,废话少说,直接上代码:

    先定义两个常量,后面选择的时候会用到

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

@Override

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{


private int dialogId = 0;   //默认为0则不显示对话框 

 

        public Text2OnClickListener(int dialogId) { 

            this.dialogId = dialogId; 

        } 

        @Override 

        public void onClick(View view) { 

            showDialog(dialogId); 

        }

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI