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

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

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

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

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

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)

https://github.com/FoxconnPeter/ReworkSystem/blob/master/FragmentTabHost-master/app/src/main/java/com/app/gaolonglong/fragmenttabhost/FunctionActvity/ReportSearch.java
这个是我的源码地址

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