android 点击EditText 弹出日期选择器DatePickerDialog
16lz
2021-01-26
在一些需要注册的项目中我们可能需要用户填写生日等其他的日期格式的数据,这时候选择DatePickerDialog无疑是比较好的选择。在用户点击输入框或者输入框获得焦点的时候弹出来DatePickerDialog,用户点击设定按钮,将日期填写到输入框。
下面直接上代码:
<EditText android:id="@+id/Birthday" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="30dip" android:layout_marginRight="30dip" android:inputType="none"//不显示系统输入键盘 android:layout_weight="1" > </EditText>
birthday = (EditText)findViewById(R.id.Birthday); birthday.setInputType(InputType.TYPE_NULL); //不显示系统输入键盘 birthday.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub if(hasFocus){ Calendar c = Calendar.getInstance(); new DatePickerDialog(ProfileActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub birthday.setText(year+"/"+(monthOfYear+1)+"/"+dayOfMonth); } }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show(); } } }); birthday.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Calendar c = Calendar.getInstance(); new DatePickerDialog(ProfileActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub birthday.setText(year+"/"+(monthOfYear+1)+"/"+dayOfMonth); } }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show(); } });
更多相关文章
- Android(安卓)输入分析
- [原]Android(安卓)develop tricks——整理自国外的一些Blog
- 【干货】Android应用架构笔记
- 使用AlertDialog实现使用在android中弹出对话框,询问用户是否继续
- 这些年我踩过的坑——Android
- android studio-toolbar的使用
- Android显式intent和隐式intent
- 【Android(安卓)Developers Training】 14. 序言:管理Activity生
- Android(安卓)Studio 使用Log