zhiqiang9267
鸿蒙道
采纳率10%
2017-02-04 02:41

我想实现一个EditText点击后出现一个日历然后返回值到EditText显示?

android 开发:我想实现一个EditText点击后出现一个日历然后返回值到EditText显示?
给一个代码示例谢谢,急用

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • sinat_35883954 FoxconnPter 4年前

    https://img-ask.csdn.net/upload/201702/07/1486436170_718.gif
    你打开这个GIF图片。。。我上面的回答中贴了。。可是GIF图片不显示。。你自己复制到浏览器打开了,那是我的效果图

    点赞 评论 复制链接分享
  • sinat_35883954 FoxconnPter 4年前
  • sinat_35883954 FoxconnPter 4年前

    StringBuilder str = new StringBuilder("");//这个设置成员变量
    prviate Edittext queryDateTo;
    初始化控件 findbyid.....之类的。
    我的这种方法就是点击EditText弹出时间选择框 包括年月日时分秒,你可以自己删改。
    然后选择时间,显示在编辑框上,第二次显示的时候会清除之前显示的时间。
    我也是菜鸟,所以代码比较啰嗦,但是我平常就是这样实现这个功能的.

    //设置结束时间
    queryDateTo.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View source) {

                Calendar c = Calendar.getInstance();
    

    // 直接创建一个DatePickerDialog对话框实例,并将它显示出来
    Dialog dateDialog = new DatePickerDialog(ReportSearch.this,
    // 绑定监听器
    new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker dp, int year,
    int month, int dayOfMonth) {
    sts.append(year + "-" + (month + 1) + "-"
    + dayOfMonth + " ");
    Calendar time = Calendar.getInstance();
    Dialog timeDialog = new TimePickerDialog(
    ReportSearch.this,
    // 绑定监听器
    new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(
    TimePicker tp,
    int hourOfDay, int minute) {
    sts.append(hourOfDay + ":"

                                                        + minute);
    
    
                                                queryDateTo.setText(sts);
                                                sts.replace(0, sts.length(), "");
    
    
                                            }
                                        }
    

    // 设置初始时间
    , time.get(Calendar.HOUR_OF_DAY), time
    .get(Calendar.MINUTE)
    // true表示采用24小时制
    , true);
    timeDialog.setTitle("请选择日期");
    timeDialog.show();

                            }
                        }
    

    // 设置初始日期
    , c.get(Calendar.YEAR), c.get(Calendar.MONTH), c
    .get(Calendar.DAY_OF_MONTH));
    dateDialog.setTitle("请选择日期");
    dateDialog.show();
    }
    });

                ![图片说明](https://img-ask.csdn.net/upload/201702/07/1486436170_718.gif)
    
    点赞 评论 复制链接分享
  • lixuce1234 lixuce1234 4年前

    给Editext设置监听,判断是否获取焦点,获取焦点的时候弹出日历控件

    点赞 评论 复制链接分享
  • emdd2016 emdd2016 4年前

    用popwindow, view 自己布局【用一个DatePicker或自定义即可】

    点赞 评论 复制链接分享
  • huxl2015 三丿虎 4年前
        Calendar calendar = Calendar.getInstance();
        final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        new DatePickerDialog(this, DatePickerDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() {
            @SuppressLint("DefaultLocale")
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                String tm = String.format("%02d", (monthOfYear + 1));
                String td = String.format("%02d", dayOfMonth);
                String date = (year + "-" + tm + "-" + td);
                etStart.setText(date);
            }
        }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
    
    点赞 评论 复制链接分享

相关推荐