作者iincho (世界的尽头)
看板AndroidDev
标题Re: [问题] TimePicker的分钟如何以30分钟来增减+-
时间Tue Feb 14 15:26:15 2012
※ 引述《codemonkey (程式猿)》之铭言:
: 请问一下,TimePicker widget的分钟项目,
: 可以让他按下+-的时候是以10,30...分钟来跳动吗?
: 查了一下SDK好像没有类似的设定
: 另外我本来想自己做一个类似的widget,
: 不过Android好像没有类似TimePicker、
: 有上下限+-按钮的textbox?
: 我之前的写法如下,不过好像会造成回圈...
: orderTime.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
: public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
: orderTime.setCurrentMinute(30);
: }}
: );
Stackoverflow有人问过, 借他的code用一下...
private TimePicker.OnTimeChangedListener mNullTimeChangedListener =
new TimePicker.OnTimeChangedListener() {
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
}
};
setOnTimeChangedListener(...){
// remove ontimechangedlistener to prevent stackoverflow/infinite loop
timePicker.setOnTimeChangedListener(mNullTimeChangedListener);
// set minute
timePicker.setCurrentMinute(nextMinute);
// hook up ontimechangedlistener again
timePicker.setOnTimeChangedListener(mStartTimeChangedListener);
}
讲穿了就是改时间的时候把listener偷换掉改完再设回来(炸
这稍微Google一下就有了wwww
--
Beware of bugs in the above code;
I have only proved it correct, not tried it.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.72.12.165
1F:推 codemonkey:这招我有想过,不过感觉很脏...没想到这是正解...... 02/14 15:31