Android开发:实现时间日期选择对话框

版权申诉
0 下载量 84 浏览量 更新于2024-10-27 收藏 45KB RAR 举报
资源摘要信息:"Date_Time_PickerDialog.rar_android_timedialog" 在这个资源中,我们关注的是如何在Android平台上实现一个时间日期选择对话框的功能。通过这个源码文件,我们可以了解到Android开发中时间日期选择对话框的相关知识和技术细节。 首先,Android平台提供了一个内置的`DatePickerDialog`类,允许开发者创建一个可以与用户交互选择日期的对话框。同样,也有`TimePickerDialog`类用于选择时间。但是,在这个资源中,我们假设源码是一个自定义的时间日期选择对话框,这可能意味着开发者选择了一个更加灵活的方式来满足特定的需求。 在Android开发中,创建一个自定义的时间日期选择对话框通常需要以下几个步骤: 1. **创建自定义布局**:开发者首先需要创建一个布局XML文件,用于定义时间日期选择器的外观。这个布局可能包含一些TextView来显示日期时间,和一些按钮来触发选择器。 2. **初始化DateTimePickerDialog类**:开发者需要创建一个新的类,继承自`Dialog`类,实现`DialogInterface.OnClickListener`接口。在这个类中,你需要初始化布局、设置日期时间的选择逻辑和用户交互事件。 3. **设置日期时间选择逻辑**:使用`Calendar`类来获取和设置当前日期时间。在用户选择日期时间之后,需要更新`Calendar`实例,并将选中的日期时间反映在界面上。 4. **处理用户事件**:需要设置按钮的点击事件,如确定、取消等。例如,当用户点击确定按钮时,应关闭对话框并返回选择的日期时间。 5. **展示对话框**:最后,需要有一个触发点来显示对话框,这通常通过调用`showDialog()`方法来实现。 接下来,我们深入探讨一下这个资源中可能包含的关键知识点: 1. **DatePickerDialog类**:这是Android提供的一个用于日期选择的对话框类,它可以帮助开发者快速实现日期的选择功能。开发者可以通过设置最小日期和最大日期来限制可选择的日期范围。 2. **TimePickerDialog类**:类似于`DatePickerDialog`,`TimePickerDialog`允许用户选择具体的时间。开发者可以设置是否以24小时制显示,以及是否允许用户选择小时或分钟。 3. **Calendar类**:在时间日期选择中,`Calendar`类是处理日期时间信息的核心。它可以表示特定的时间点,还可以通过设置年、月、日、小时等字段来获取和设置日期时间。 4. **Dialog类的使用**:在自定义对话框的实现中,`Dialog`类提供了一个框架,让开发者可以完全控制对话框的布局和行为。 5. **接口实现**:在创建对话框时,开发者需要实现`DialogInterface.OnClickListener`接口,以便处理用户点击事件,如选择确定或取消操作。 6. **XML布局文件**:为了自定义对话框的外观和布局,需要编写XML布局文件。通过配置各种控件的属性,可以设计出用户友好的界面。 7. **资源文件的打包与使用**:在这个资源文件中,我们将看到的是一个打包为`.rar`格式的压缩包,里面可能包含了源代码文件、资源文件、布局文件和其他相关组件。在Android开发中,资源文件通常被打包在APK文件中,供应用运行时调用。 通过这个资源,开发者可以学习到如何在Android平台上实现一个自定义的时间日期选择对话框。通过自定义界面和行为逻辑,可以更好地满足应用的需求和用户的使用习惯。同时,这也能够加深开发者对Android用户界面设计和事件处理的理解。

select * from ( SELECT P.PATIENT_ID, P.VISIT_ID, PM.NAME, PM.SEX, P.ADMISSION_DATE_TIME, ( SELECT TOP 1 DP.DEPT_NAME FROM DEPT_DICT DP WHERE DP.DEPT_CODE = P.DEPT_ADMISSION_TO ) AS DEPT_ADM, P.DISCHARGE_DATE_TIME, ( SELECT TOP 1 DP.DEPT_NAME FROM DEPT_DICT DP WHERE DP.DEPT_CODE = P.DEPT_DISCHARGE_FROM ) AS DEPT_DIS, DATEDIFF( DAY, P.ADMISSION_DATE_TIME, P.DISCHARGE_DATE_TIME ) AS INPAT_DAYS, P.DOCTOR_IN_CHARGE --datediff(day, P.ADMISSION_DATE_TIME,P.DISCHARGE_DATE_TIME) as zyts FROM PAT_VISIT P INNER JOIN PAT_MASTER_INDEX PM ON PM.PATIENT_ID = P.PATIENT_ID WHERE select * from ( SELECT P.PATIENT_ID, P.VISIT_ID, PM.NAME, PM.SEX, P.ADMISSION_DATE_TIME, ( SELECT TOP 1 DP.DEPT_NAME FROM DEPT_DICT DP WHERE DP.DEPT_CODE = P.DEPT_ADMISSION_TO ) AS DEPT_ADM, P.DISCHARGE_DATE_TIME, ( SELECT TOP 1 DP.DEPT_NAME FROM DEPT_DICT DP WHERE DP.DEPT_CODE = P.DEPT_DISCHARGE_FROM ) AS DEPT_DIS, DATEDIFF( DAY, P.ADMISSION_DATE_TIME, P.DISCHARGE_DATE_TIME ) AS INPAT_DAYS, P.DOCTOR_IN_CHARGE --datediff(day, P.ADMISSION_DATE_TIME,P.DISCHARGE_DATE_TIME) as zyts FROM PAT_VISIT P INNER JOIN PAT_MASTER_INDEX PM ON PM.PATIENT_ID = P.PATIENT_ID WHERE P.DISCHARGE_DATE_TIME >= '2016-01-01' AND P.DISCHARGE_DATE_TIME < = '2023-07-10' AND DATEDIFF( DAY,P.ADMISSION_DATE_TIME, P.DISCHARGE_DATE_TIME ) >= 30 ) t order by inpat_days desc P.DISCHARGE_DATE_TIME >= '2016-01-01' AND P.DISCHARGE_DATE_TIME < = '2023-07-10' AND DATEDIFF( DAY,P.ADMISSION_DATE_TIME, P.DISCHARGE_DATE_TIME ) >= 30 ) t order by inpat_days desc 帮我把这段sql优化一下

2023-07-25 上传

SELECT bs.report_no, bs.sample_id, bs.test_id, bs.service_type, bs.sample_name, bs.total_fee, bs.receivable_fee, bs.sample_no, bs.ranges, bs.grade, bs.sample_remark AS remark, bs.factory, bs.item_name, bs.apply_dept, bs.specification, bs.factory_number, bs.calibrat_point, bs.mandatory_flag, bs.inspection_type, bs.report_org_name, bs.plan_complete_date, bs.standard_instrument_name, bs.bleeding_site_name, bs.arrive_date, DATEDIFF( bs.plan_complete_date, NOW()) AS surplus_days, bs.order_no, bs.order_type, bs.customer_name, bs.order_id, bs.business_type, bs.group_id, bs.group_name, bs.item_id, bs.is_merge, bs.pass_time, bs.audit_time, bs.report_id, bs.compile_time, bs.generate_time, bs.pass_user_name, bs.audit_user_name, bs.compile_user_name, bs.report_state, bs.is_just_certificate, bs.label_price, bs.labor_cost, bs.product_type, bs.batch_number, bs.original_number, bs.type_no, bs.template_id, bs.template_version, bs.standard_instrument_id, bs.standard_instrument_name, bs.report_query_code, bs.test_user_id, bs.test_user_name, bs.test_time, bs.review_user_id, bs.review_user_name, bs.review_time, bs.or_number, bs.test_result, bs.test_result_text, bs.test_date, bs.test_address, bs.result_value, bs.unit, bs.test_dept_id, bs.test_dept_name, bs.sample_mass, bs.form, bs.color, bs.clarity, bs.amplification_detection, bs.precious_metal, bs.remarks, bs.photo, bs.identifying_code, bs.diamond_quality, bs.hand_ring, bs.craft, bs.instrument_photo, bs.customer_item_basis, bs.quality_photo, bs.check_point, bs.check_code, bs.mass_unit, bs.manufacturer_name, bs.manufacturer_addr, bs.result_sample_describe AS sampleDescribe, bs.test_rule AS metalRuleIdsStr, bsa.attach_id FROM view_sample_info bs JOIN bus_sample_report bsr ON bs.report_id = bsr.id JOIN bus_sample sa ON bsr.sample_id = sa.id JOIN bus_sample_attr bsa ON sa.id = bsa.id 需要按照bs.report_no 的整数来从小到大进行排序

2023-07-15 上传

java.lang.NullPointerException public static List<OrderAbnormalRecordResultBase> convertOrderListIntoResultList(List<OrderBasicInfoDB> list) { List<OrderAbnormalRecordResultBase> ret = new ArrayList<OrderAbnormalRecordResultBase>(); if (list !=null && list.size()>0){ for (OrderBasicInfoDB record: list){ OrderAbnormalRecordResultDispatchAcceptTimeOut t = new OrderAbnormalRecordResultDispatchAcceptTimeOut(); t.setAbnormalRecordType(OrderAbnormalRecordListParam.ABNORMAL_RECORD_TYPE_DISPATCHED_ORDER_ACCEPT_TIME_OUT); t.setId(record.getId()); t.setOrder_no(record.getOrder_no()); t.setOrder_type(record.getOrder_type()); t.setPpl_id(record.getPpl_detail_info().getId()); t.setPpl_name(record.getPpl_name()!=null?record.getPpl_name(): record.getPpl_detail_info().getPpl_name()); t.setContact_phone(record.getContact_phone()); t.setProduct_name(record.getProduct_name()); t.setProduct_id(record.getProduct_id()==null?0: record.getProduct_id()); t.setCreate_time(DateUtil.convertTimeByFormat(record.getCreate_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setService_personnel_id(record.getService_personnel_id().getId()); t.setService_personnel_name(record.getService_personnel_name()); t.setStaff_tel(record.getService_personnel_id().getPpl_tel()); t.setAmount(record.getAmount()); t.setService_plan_time(DateUtil.convertTimeByFormat(record.getService_plan_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setDispatch_time(DateUtil.convertTimeByFormat(record.getDispatch_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setOrder_final_status(record.getOrder_final_status()); ret.add(t); } } return ret; }

2023-07-12 上传