Open pzb001025 opened 3 years ago
用
picker.setDefaultValue(...)
参见demo:
TimePicker picker = new TimePicker(this);
picker.setBodyWidth(140);
picker.setOnTimeMeridiemPickedListener(new OnTimeMeridiemPickedListener() {
@Override
public void onTimePicked(int hour, int minute, int second, boolean isAnteMeridiem) {
String text = hour + ":" + minute + ":" + second;
text += isAnteMeridiem ? " 上午" : " 下午";
Toast.makeText(getApplication(), text, Toast.LENGTH_SHORT).show();
}
});
TimeWheelLayout wheelLayout = picker.getWheelLayout();
wheelLayout.setRange(TimeEntity.target(1, 0, 0), TimeEntity.target(12, 59, 59));
wheelLayout.setTimeMode(TimeMode.HOUR_12_NO_SECOND);
wheelLayout.setTimeLabel(":", " ", "");
wheelLayout.setDefaultValue(TimeEntity.now());
picker.show();
是不能这样修改吗 TimeEntity target = TimeEntity.target(1, 9, 0); picker.getWheelLayout().setDefaultValue(target);
java.lang.IllegalArgumentException: The default time is out of range
是不能这样修改吗 TimeEntity target = TimeEntity.target(1, 9, 0); picker.getWheelLayout().setDefaultValue(target);
java.lang.IllegalArgumentException: The default time is out of range
默认值要在开始和结束的时间范围内,建议同时设置wheelLayout.setRange(....);
是不能这样修改吗 TimeEntity target = TimeEntity.target(1, 9, 0); picker.getWheelLayout().setDefaultValue(target);
java.lang.IllegalArgumentException: The default time is out of range
默认值要在开始和结束的时间范围内,建议同时设置
wheelLayout.setRange(....);
最新版本已经不抛出这个异常了,默认值范围越界的话使用结束时间
3.0.8不是最新的吗
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target);
这样的话除了最后一个 正常 其他的都是1到24
是不能这样修改吗 TimeEntity target = TimeEntity.target(1, 9, 0); picker.getWheelLayout().setDefaultValue(target);
java.lang.IllegalArgumentException: The default time is out of range
默认值要在开始和结束的时间范围内,建议同时设置
wheelLayout.setRange(....);
最新版本已经不抛出这个异常了,默认值范围越界的话使用结束时间
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target);
这样的话除了最后一个 正常 其他的都是1到24
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target);
这样的话除了最后一个 正常 其他的都是1到24
你设置的范围是多少?
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target); 这样的话除了最后一个 正常 其他的都是1到24
你设置的范围是多少?
我想设置1-9的值
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target); 这样的话除了最后一个 正常 其他的都是1到24
你设置的范围是多少?
我想设置1-9的值
设置范围用setRange
,设置默认选中项用setDefaultValue
。还没明白你要达到什么效果,设置1-9的小时范围值可以用TimeWheelLayout wheelLayout = picker.getWheelLayout();wheelLayout.setRange(TimeEntity.target(1, 0, 0), TimeEntity.target(9, 59, 59));
。
TimeEntity target = TimeEntity.target(9, 9, 9); picker.getWheelLayout().setDefaultValue(target); 这样的话除了最后一个 正常 其他的都是1到24
你设置的范围是多少?
我想设置1-9的值
设置范围用
setRange
,设置默认选中项用setDefaultValue
。还没明白你要达到什么效果,设置1-9的小时范围值可以用TimeWheelLayout wheelLayout = picker.getWheelLayout();wheelLayout.setRange(TimeEntity.target(1, 0, 0), TimeEntity.target(9, 59, 59));
。
我的意思就是1-9小时 分钟也是1-9后面的单位我给改掉了 NumberPicker可以这样实现吗就是二级联动
二级联动
NumberPicker只是一级。二级联动可以继承自LinkagePicker
自定义,或者直接用两个NumberWheelView从头写
用
picker.getWheelLayout().setDefaultValue(...)