2016-07-20 21 views
2

Ich benutze diesen Code:Timepicker nicht nennen OnTimeChanged in 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"); 
} 

aber onTimeChanged nicht nur in API genannt 21. Was könnte das Problem sein? Oder zumindest wie es anders geht?

Ich versuchte MyTimePickerDialog von AlertDialog erstreckt und benutzerdefinierter Ansicht wie diese setView(viewWithTimePicker) mit Timepicker Einstellung, und dann timePicker.setOnTimeChanged(this) die Methode zu verwenden. Es funktioniert in API: 23, 22, 16 (!), Aber nicht in 21 (Android 5.0). Brauche Hilfe.

Antwort

2

Ich hatte dasselbe Problem mit Lolipop implementiert vergessen so fügte ich

android: timePickerMode = "Spinner" als timePickerMode und es funktionierte.

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

Versuchen Sie es.

+0

Ja, es ist Arbeit. Wollte auch tun, aber auf api> = 21 habe ich gestoppt, ich brauche Kreismodus. Als eine schnelle Lösung ist geeignet, nachdem, wenn ich einen anderen Ansatz finden kann, die Antwort ergänzen. Danke! – whalemare

+0

@whalemare Willkommen :) und benachrichtigen Sie mich, wenn Sie anderen Ansatz finden Danke. – Nisarg

1

Ich glaube, Sie TimePickerDialog.OnTimeSetListener

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

Ich brauche diesen Listener nicht zu implementieren. weil ich im constructor die Instanz von 'OnTimeSetListener' richtig (nicht null) sende. Und ich brauche diese Methode nicht überschreiben – whalemare

+0

Und diese Methode aus docs: 'aufgerufen, wenn der Benutzer fertig ist die Einstellung einer neuen Zeit und der Dialog hat geschlossen. ' – whalemare

Verwandte Themen