开发安卓app的时候,有时候需要给EditText绑定日期控件DatePicker,网络上有一篇文章就是讲如何绑定的,网络上搜索到的基本上都是这篇文章,被转来转去,代码确实可以用,但是原作者并没有写得很详细,然后还有点小问题,我在它的基础上稍微修改了下:
private int mYear; private int mMonth; private int mDay; private EditText lzdate; private EditText sxdate; private int timeFlag=0; 。 。 。 lzdate = (EditText) findViewById(R.id.lzdate); sxdate = (EditText) findViewById(R.id.sxdate); /** * 点击EditText弹出日期选择框 */ lzdate.setOnClickListener(new OnClickListener() { public void onClick(View v) { timeFlag = 0; showDialog(0); } }); sxdate.setOnClickListener(new OnClickListener() { public void onClick(View v) { timeFlag = 1; showDialog(1); } }); lzdate.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (hasFocus == true) { timeFlag = 0; showDialog(0); hideIM(v); } } }); sxdate.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (hasFocus == true) { timeFlag = 1; showDialog(1); hideIM(v); } } }); private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; String mm; String dd; if (monthOfYear <= 9) { mMonth = monthOfYear + 1; mm = "0" + mMonth; } else { mMonth = monthOfYear + 1; mm = String.valueOf(mMonth); } if (dayOfMonth <= 9) { mDay = dayOfMonth; dd = "0" + mDay; } else { mDay = dayOfMonth; dd = String.valueOf(mDay); } mDay = dayOfMonth; if (timeFlag == 0) { lzdate.setText(String.valueOf(mYear) + "-" + mm + "-"+ dd); } else { sxdate.setText(String.valueOf(mYear) + "-" + mm + "-" + dd); } } }; protected Dialog onCreateDialog(int id) { //原作者的代码中没有下面的四行,这样会造成 在第一个EditText选择了日期后,再给另外一个EditText选择日期时,会发生错误 Calendar c = Calendar.getInstance(); mYear=c.get(Calendar.YEAR); mMonth=c.get(Calendar.MONTH); mDay=c.get(Calendar.DAY_OF_MONTH); switch (id) { case 0: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay); case 1: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay); } return null; } // 隐藏手机键盘 private void hideIM(View edt) { try { InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); IBinder windowToken = edt.getWindowToken(); if (windowToken != null) { im.hideSoftInputFromWindow(windowToken, 0); } } catch (Exception e) { } }
相关推荐
这个demo是关于android中自定义控件,在EditText两边放置加减按钮。 需求:带加减按钮的EditText控件。 如有BUG或者不 完善,欢迎小伙伴们提出~
Android中EditText控件的基础使用,包含xml的基本配置以及在后台的操作函数。
此控件用起来很方便,使用editText的监听事件
学习有关Android EditText属性
自带清除按钮的EditText控件,非常好用,以后再也不用一个一个删除输入错误的内容了
Android EditText 控件例子
1、EditText右侧带有添加按钮,点击可添加自己的事件。 2、EditText右侧带有日期按钮,点击可选择日期添加到EditText中。
EditText控件内右侧加图片,图片实现点击事件
4、如果一切正常,那么你会在虚拟设备看到常用的控件(包括TextView, EditText,AutoCompleteTextView,MultiAutoCompleteTextView,Button,ImageButton,ToggleButton,CheckBox和RadioButton),根据中文提示操作。...
主要介绍了Android编程实现点击EditText之外的控件隐藏软键盘功能,涉及Android控件的功能、属性及相关操作技巧,需要的朋友可以参考下
android 全屏状态下 EditText 控件的交互,结局android全屏默认会把内容顶置的问题;完美兼容低版本和高版本api
安卓自定义ListView中含有EditText控件的解决方法
基本控件案例集锦,Button,TextView,EditText,Toast,RadioButton 基本控件案例集锦,Button,TextView,EditText,Toast,RadioButton 基本控件案例集锦,Button,TextView,EditText,Toast,RadioButton 基本...
主要为大家详细介绍了Android自定义控件EditText的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
从入门开始,也是从别人哪里下载的,分享给大家.不不想要分的,可必须选择
EditText里面镶嵌两个按钮,设计一个自定义组合控件。它的功能,通过两个按钮分别增加、减小EditText里面的数字
该资源为自定义控件系列文章第三弹 继承控件 带清除按钮EditText的源码
[Android开发从零开始].5.EditText控件学习
android listview带有editText的情况,解决editText的焦点问题,及数据错位问题。后2个包没用。
EditText控件内右侧加图片,并实现图片的点击处理事件