2011-03-21 83 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