android - 问:Android TimePicker.setIs24HourView 不起作用
问题描述
我用 TimePicker 编写了 PreferenceDialog。但是当我将此控件设置为 24 小时模式时,我得到了异常错误膨胀类。
public class TimePreference extends DialogPreference {
private int hour = 0;
private int minute = 0;
private TimePicker timePicker;
public TimePreference(Context ctxt, AttributeSet attrs) {
super(ctxt, attrs);
setDialogLayoutResource(R.layout.timedialog_preference);
timePicker.setIs24HourView(true);
setPositiveButtonText("Ok");
setNegativeButtonText("Cancel");
}
}
你能帮助我吗?谢谢。
解决方案
我解决了问题。代码:
公共类 TimeDialogPrefFragCompat 扩展 PreferenceDialogFragmentCompat {
private TimePicker timePicker;
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
timePicker = (TimePicker) view.findViewById(R.id.time_picker);
timePicker.setIs24HourView(true);
Calendar calendar = Calendar.getInstance();
int h = calendar.get(Calendar.HOUR_OF_DAY);
int m = calendar.get(Calendar.MINUTE);
timePicker.setCurrentHour(h);
timePicker.setCurrentMinute(m);
}
}
}
需要写入 onBindDialogView 方法。
推荐阅读
- netsuite - 从所有矩阵子项中获取库存并写入父字段
- grpc - gRPC 无法从客户端(Python)创建到服务器(Go)的连接
- php - .php 文件和 GAE 存在问题
- kubernetes - 根据请求频率自动缩小和放大 Kubernetes 集群
- svg - SVG 图像中的底线缺失
- javascript - 可以从另一个动作中进行异步调度吗
- xamarin.forms - 将标签添加到 Xamarin 地图
- aspose - 如何将 Excel 列复制到 Java 列表
- geoserver - 使用 Geoserver 进行 GeoTIFF 图层预览
- jupyter-notebook - Google Colab:没有重启和清除所有输出的选项?