2016-07-20 67 views
2

我用這個代碼:TimePicker不叫OnTimeChanged在API-21

public class CustomTimePickerDialog extends TimePickerDialog { 
private static final String TAG = CustomTimePickerDialog.class.getSimpleName(); 


public CustomTimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute, boolean is24HourView, String databaseTimeById) { 
    super(context, listener, hourOfDay, minute, is24HourView); 
} 

@Override 
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 
    Log.d(TAG, "onTimeChanged"); 
} 

onTimeChanged僅在API 21不叫可能是什麼問題呢?或者至少如何做不同?

我嘗試從AlertDialog延伸MyTimePickerDialog,並使用TimePicker設置自定義視圖,如setView(viewWithTimePicker),然後使用方法timePicker.setOnTimeChanged(this)。它在API:23,22,16(!)中工作,但不在21(Android 5.0)中。需要幫忙。

回答

2

我有同樣的問題與棒棒糖,所以我說

機器人:timePickerMode = 「微調」爲timePickerMode和它的工作。

<TimePicker 
     android:id="@+id/timepick_start" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:timePickerMode="spinner"/> 

試試這個。

+0

是的,它的工作。也想要做,但停止在api> = 21我需要循環模式。作爲一個快速解決方案是適合的,之後,如果我能找到一種不同的方法,補充答案。 謝謝! – whalemare

+0

@whalemare歡迎:),並通知我,當你找到不同的方法謝謝。 – Nisarg

1

我想你忘記實現TimePickerDialog.OnTimeSetListener

public class CustomTimePickerDialog extends TimePickerDialog implements TimePickerDialog.OnTimeSetListener{ 
+0

我不需要實現這個監聽器。因爲在構造函數中,我發送了'OnTimeSetListener'的right(not null)實例。我不需要重寫這個方法 – whalemare

+0

這個方法從文檔:'當用戶完成設置一個新的時間和對話框有 關閉時調用.' – whalemare