java - TimePickerDialog 构造函数问题
问题描述
if (v == btnEndTimePicker) {
final Calendar c = Calendar.getInstance() ;
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinutes = c.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(true, this,
(view, hour, minutes) -> {
return editStartTime.setText((hour + ":" + minutes), mHour, mMinutes);
});
timePickerDialog.show();
}
if (v == btnStartTimePicker) {
final Calendar c = Calendar.getInstance() ;
sHour = c.get(Calendar.HOUR_OF_DAY);
sMinutes = c.get(Calendar.MINUTE);
CalendarDialog timePickerDialog = new CalendarDialog(true, this,
(view, hour, minutes) -> {
return editStartTime.setText((hour + ":" + minutes), sHour, sMinutes);
});
timePickerDialog.show();
}
我不确定在这里做什么,我使用类似的代码弹出日历日期对话框并选择一个日期,然后将其放入 EditText 字段。当我为 TimePickerDialog 执行此操作时,它说它期待一个 char[] 而不是一个字符串。
解决方案
你给 TimePickerDialog 对象提供了错误的参数
public TimePickerDialog (Context context,
TimePickerDialog.OnTimeSetListener listener,
int hourOfDay,
int minute,
boolean is24HourView)
替换这个
TimePickerDialog timePickerDialog = new TimePickerDialog(true, this,
(view, hour, minutes) -> {
return editStartTime.setText((hour + ":" + minutes), mHour, mMinutes);
});
和
TimePickerDialog timePickerDialog = new TimePickerDialog(this,listener,2,25,true);
这些是正确的参数,更多检查一下
https://developer.android.com/reference/android/app/TimePickerDialog
推荐阅读
- ios - 如何在 Citrix MDM 解决方案中支持我的应用程序
- c# - 如何让 Task.ContinueWith 按顺序执行异步方法?
- android - 错误:查询有问题:[SQLITE_ERROR] SQL 错误或缺少数据库(没有这样的列:isFinished)
- node.js - Microsoft 在没有浏览器的情况下使用节点登录
- javascript - 是否可以通过在 Alfresco Activiti 中使用 REST API 从客户端添加或更新工作流
- windows-subsystem-for-linux - 进程是否有机会在 wsl.exe --terminate 之后安全终止?
- terraform - Terraform:参数 Origin DomainName 未引用有效的 S3 存储桶
- r - 如果电子邮件和唯一 ID 重复,则更改新数据框
- flutter - 使用授权的 Flutter HTTP 调用失败但在邮递员中有效
- flutter - StatefulWidget 不刷新 ListView