首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimePickerDialog和TimePicker

TimePickerDialog和TimePicker
EN

Stack Overflow用户
提问于 2011-09-07 03:23:34
回答 3查看 8.1K关注 0票数 1
代码语言:javascript
复制
onCreate(...) {
...
showDialog(TIME_DIALOG_ID);
timePicker = (TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
...
Button btnOpen = (Button) findViewById(R.id.btnSet);
btnOpen.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {
        Toast.makeText(getBaseContext(),
                       “Time selected:” +
                       timePicker.getCurrentHour().toString() +
                       “:” + timePicker.getCurrentMinute().toString(),
                       Toast.LENGTH_SHORT).show();
     }
}

onCreateDialog(...) {
    return new TimePickerDialog(...)
}

上面是一本Android书中的代码示例。我想知道timePicker是如何知道当前小时和当前分钟的。仅在onCreate中定义timePicker。当用showDialog()调用onCreateDialog时,它返回一个TimePickerDialog,它似乎根本不知道timePicker,但是timePicker能够获得当前的小时和分钟来为它干杯。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-07 10:15:28

TimePickerDialog包含一个TimePicker小部件,该小部件实现了获取当前时间的代码。示例代码直接引用TimePickerDialog中的TimePicker,假设TimePickerDialog将始终包含一个id为:timePickerTimePicker

但是,您不需要神奇地知道TimePicker的id。您可以实现TimePicker.OnTimeChangedListener回调接口,该接口可以通过onTimeChanged (TimePicker view, int hourOfDay, int minute)方法访问嵌入式TimePicker,如此Time Picker tutorial所示。

票数 3
EN

Stack Overflow用户

发布于 2011-09-07 03:34:06

调用showDialog()时,将在活动的视图层次结构中创建对话框。因此,当下一行执行findViewById(R.id.timePicker)时,它会在对话框中找到TimePicker,并在timePicker中保存对它的引用。

票数 1
EN

Stack Overflow用户

发布于 2011-09-07 03:47:01

onCreate方法中,你只有引用。

当您单击btnOpen时,您将调用getCurrentHour()getCurrentMinute()来获取当前时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7325039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档