开发安卓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) { } }
相关推荐
Android DataBinding 还支持多种控件的双向绑定,例如 AbsListView、CalendarView、CompoundButton、DatePicker、NumberPicker、RadioGroup、RatingBar、SeekBar、TabHost、TextView、TimePicker 等。这些控件可以...
这个项目很可能是为了展示各种Android UI控件的用法而设计的,包括按钮(Button)、文本输入框(EditText)、单选按钮(RadioButton)、复选框(CheckBox)、下拉列表(Spinner)、图片按钮(ImageButton)、进度条(ProgressBar)...
10. **日期/时间选择器(DatePicker/TimePicker)**:这两个控件用于让用户选择日期或时间,通常在对话框中使用。 11. **视图组(ViewGroup)**:如LinearLayout、RelativeLayout、ConstraintLayout等,用于组织其他...
EditText控件允许用户输入文本,常用于表单或搜索框。通过`<EditText>`标签定义,`android:hint`属性提供提示文本,`android:inputType`可设置输入类型,如文本、密码、电话号码等。 三、单选按钮(RadioButton) ...
10. **DatePicker**和**TimePicker**:分别用于选择日期和时间,常用于设置日期或时间相关的功能。 在学习过程中,`LyoutDemo`可能包含了这些控件的示例布局文件,用于演示如何在XML布局文件中定义控件以及它们的...
3. **高级控件**:除了基本控件外,还有诸如Spinner(下拉列表)、DatePicker(日期选择器)、TimePicker(时间选择器)、GridView(网格视图)、ListView(列表视图)等更复杂的控件。这些控件为用户提供更多的交互...
9. **DatePicker** 和 **TimePicker**:这两个控件用于选择日期和时间,常用于设置提醒或创建事件。 10. **GridLayout**、**LinearLayout** 和 **RelativeLayout**:这些是布局管理器,用于组织和定位其他控件。...
18. **DatePicker日期**: - DatePicker提供日期选择功能。 - 类层次关系:通常是一个Dialog。 - 常用方法:设置和获取日期。 - 使用:选择日期,通常用于日期选择器。 19. **TimePicker时间选择器**: - ...
10. **DatePicker** 和 **TimePicker**:日期和时间选择器,用于让用户选择日期或时间。示例可能包含如何获取和设置选择的值。 11. **Switch**:开关控件,与ToggleButton类似,但外观更现代。示例会展示如何与...
10. **DatePicker** 和 **TimePicker**:日期选择器和时间选择器,用于让用户选择日期或时间。 在实际开发中,开发者还会使用到诸如GridLayout、LinearLayout、RelativeLayout等布局管理器来组织这些控件。此外,...
10. **DatePicker**和**TimePicker**:用于选择日期和时间,常见于设置界面。你需要知道如何设置初始值、获取用户选择的日期和时间。 11. **GridLayout**、**LinearLayout**、**RelativeLayout**和**...
以上只是部分Android控件的使用示例,实际开发中还有更多如`SeekBar`、`DatePicker`、`TimePicker`等控件,它们都有各自的使用方法和场景。通过不断的实践和学习,你可以熟练掌握所有控件的使用,构建出功能丰富的...
DatePicker和TimePicker则用于选取日期和时间,常见于需要设置日期和时间的场景。 此外,ListView和RecyclerView是常用的列表视图控件。ListView可以显示一列可滚动的数据项,而RecyclerView是更现代且高效的版本,...
9. **日期/时间选择器(DatePicker/TimePicker)**:提供用户选择日期和时间的界面,常用于设置提醒或预约等场景。 10. **对话框(Dialog/FloatingActionButton)**:Dialog用于弹出式交互,通常包含确认、取消等选项;...
Android提供了DatePicker和TimePicker两个控件,分别用于选择日期和时间。它们通常会以对话框的形式弹出,用户可以选择后关闭。 以上是Android基本UI控件的简要介绍。在实际开发中,开发者还需要了解如何布局这些...
DatePicker和TimePicker分别用于选择日期和时间,通常在需要用户输入日期或时间的场景中使用。 ProgressBar和SeekBar表示进度,前者是静态的,后者允许用户手动调整。RatingBar用于让用户对内容进行评级。 开关...
- `DatePicker`让用户选择日期,`TimePicker`则用于选择时间。 11. **浮动动作按钮(FloatingActionButton)** - `FloatingActionButton`是 Material Design 风格的设计,常作为主要操作的触发器。 12. **通知栏...
1. 输入控件:这类控件允许用户输入数据,如文本框(TextBox)、密码框(PasswordBox)、日期选择器(DatePicker)和数字输入框(NumericUpDown)。它们在表单或网页中用于收集用户信息。 2. 显示控件:显示控件...
- Android提供了DatePicker和TimePicker供用户选择日期和时间。源码中可能涉及到自定义对话框和监听事件的处理。 11. **滑动视图(SwipeRefreshLayout)** - 用于添加下拉刷新功能,常见于列表或网格视图。源码可能...
开发者可能会使用到`<TextView>`(用于显示文本)、`<EditText>`(用于用户输入)、`<Button>`(用于触发操作)、`<ImageView>`(显示图片)和`<DatePicker>`或`<TimePicker>`(用于选择日期和时间)等控件。...