添加时间选择器--DatePicker
来源:互联网 发布:windows 找不到aero 编辑:程序博客网 时间:2024/06/05 19:32
新建一个layout,命名为:common_datetime.xml,代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/datepicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:calendarViewShown="false" /></LinearLayout>
新建一个类(名为DateTimePickDialogUtil.java)实现接口OnDateChangedListener代码如下
public class DateTimePickDialogUtil implements OnDateChangedListener{ private DatePicker datePicker; private AlertDialog ad; private String dateTime; private String initDate; private Activity activity; public DateTimePickDialogUtil(Activity activity, String initDate) { this.activity = activity; this.initDate = initDate; this.dateTime=initDate; } //初始化DatePicker private void init(DatePicker datePicker){ Calendar calendar = Calendar.getInstance(); if (!(null == initDate || "".equals(initDate))) { calendar = this.getCalendar(initDate); } else { initDate = calendar.get(Calendar.YEAR) + "-" + calendar.get(Calendar.MONTH) + "-" + calendar.get(Calendar.DAY_OF_MONTH); } datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)-1, calendar.get(Calendar.DAY_OF_MONTH), this); } //将字符串YYYY-MM-DD变成年月日 private Calendar getCalendar(String initDate) { Calendar calendar = Calendar.getInstance(); String s[]=initDate.split("-"); calendar.set(Integer.valueOf(s[0]),Integer.valueOf(s[1]),Integer.valueOf(s[2])); return calendar; } @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Calendar calendar = Calendar.getInstance(); calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); dateTime = sdf.format(calendar.getTime()); ad.setTitle(dateTime); } public AlertDialog datePicKDialog(final TextView inputDate) { LinearLayout dateTimeLayout = (LinearLayout) activity .getLayoutInflater().inflate(R.layout.common_datetime, null); datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker); init(datePicker); ad = new AlertDialog.Builder(activity) .setTitle(initDate) .setView(dateTimeLayout) .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { inputDate.setText(dateTime); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { inputDate.setText(initDate); } }).show(); return ad; }}
在activity_main.xml中添加控件(button、TextView都可以)
在MainActivity.java添加监听:
final TextView inputDate=(TextView)findViewById(R.id.inputDate); inputDate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new DateTimePickDialogUtil(MainActivity.this,initStartDateTime).datePicKDialog(inputDate); } });
阅读全文
0 0
- 添加时间选择器--DatePicker
- 04-DatePicker 时间选择器
- 自定义时间选择器DatePicker
- 时间选择器,DatePicker
- Android中DatePicker时间选择器
- 时间选择器:DatePicker 和TimePicker
- 时间、日期选择器DatePicker、TimePicker
- iOS 开发时间选择器datePicker
- 时间选择器DatePicker与TimePicker
- 时间选择器DatePicker和TimePicker
- 时间选择器,选择日期DatePicker
- DatePicker日历选择器,TimePicker时间选择器
- TimePicker时间选择器和DatePicker日期选择器
- 利用WheelView实现时间选择器DatePicker
- bootstrap日期时间选择器datepicker的使用
- 04 - 基本控件:DatePicker日期选择器、TimePicker时间选择器
- Android--DatePicker和TimePicker(日历选择器与时间选择器)
- DatePicker(日期选择器)与TimePicker(时间选择器)
- Anddroid studio快捷键【返回上一次浏览位置/光标所在位置】
- 区块链技术学习笔记
- Android获取已安装应用大小---参考学习
- Python 实现各种排序算法
- Maven 添加src/main/java 时 The folder is already a source folder.
- 添加时间选择器--DatePicker
- kafka学习总结(七)——kafka监控-kafkaOffsetMonitor
- ACM 各大OJ平台以及题目分类
- 论文阅读-《DSSD : Deconvolutional Single Shot Detector》
- sizeof浅析(一)——求结构体大小
- 26条深度学习经验
- c#键盘单词输入判断游戏
- TabLayout+ViewPager+Fragment实现顶部滑动效果
- 数据库SQL优化大总结之 百万级数据库优化方案