2011-03-21 116 views
8

我正在尝试寻找解决方案来更改TimePicker对话框上的标题。现在它说什么系统时间(例如“上午12:23”),但我想改变这个更具描述性的东西。有没有人有什么建议?更改TimePicker上的标题?

+3

通过TimePicker对话框你是指实际的TimePickerDialog?成为具有'setTitle(CharSequence文本)'方法。 TimePickerDialog是官方教程中使用的。 http://developer.android.com/reference/android/app/AlertDialog.html#setTitle(java.lang.CharSequence) - 应该可以把它作为一个aswer,但是哦。 – Klaus 2011-03-21 08:44:15

+0

哦,克劳斯,你是一个现场救星。这工作完美!我担心我将不得不创建一个自定义的TimePicker或其他东西......您可以给出答案,我会将其标记为已解决。我不知道我怎么没有发现这一点,我真的很累......非常感谢! :) – Sunandmoon 2011-03-21 08:54:02

+0

实际上,它在初始化timepicker时设置标题,但只要我更改一个值,它就会重置回日期标题(“12:23 AM”)。我想我可以在每次更改值时设置标题,但我不知道如何。我想我可以使用一个监听器? – Sunandmoon 2011-03-21 08:57:44

回答

22

根据要求。 :)

通过TimePicker对话框你的意思是 实际TimePickerDialog?因为 有一个setTitle(CharSequence text) 方法。 TimePickerDialog是官方教程中使用的 。 http://developer.android.com/reference/android/app/AlertDialog.html#setTitle(java.lang.CharSequence)

+0

谢谢! :)(没有足够的字符) – Sunandmoon 2011-03-21 12:39:43

+0

@Sunandmoon任何时候,你看到我的评论以及我猜?我认为这可能很难看,因为随着新数据的收到,Android实现不断使用setTitle。 – Klaus 2011-03-21 12:59:27

2

我不知道如何回答以下问题的意见,所以我用“答案”。 通过检查源代码:SourceCode

您可能会意识到OnTimeChangedListener是由TimePickerDialog实现的。 为了避免在调整时间时更改标题,可以从TimePickerDialog派生并覆盖public void onTimeChanged(TimePicker view,int hourOfDay,int minute);

通知,不叫超级版本,或将再次...的setTitle

6

这个问题是比较旧的,但如果你搜索这个问题,它显示了在谷歌搜索结果。所以,我想我会发布我的解决方案。

DatePickersetCustomTitle(View view),您可以在其中定义您自己的视图(例如TextView和您的自定义文本)作为标题。这个在更改值时不会更新。

+0

如果我只需要选择时间,而不关心约会呢? – 2015-07-07 14:33:18