2012-01-13 5 views
14

Ho una finestra di dialogo che contiene una ScrollView, che contiene un layout con due TimePickers.Android TimePicker (Stile ruote) che non risponde correttamente ai movimenti rapidi all'interno di ScrollView

I timepicker sono quelli più recenti, quelli in ICS.

Il problema è che sembrano combattere per mettere a fuoco quando si cambia il tempo trascinando la ruota o sfogliandola. Cambierà il tempo solo un po ', e poi il layout scorrerà.

Qualche idea? Grazie in anticipo.

risposta

37

Ho avuto lo stesso problema quando si utilizza il tema Holo, e qui è dove ho trovato la soluzione: https://groups.google.com/forum/?fromgroups#!topic/android-developers/FkSfJI6dH8w

È necessario implementare il DatePicker personalizzato o TimePicker e sovrascrivere il seguente metodo:

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) 
{ 
    if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) 
    { 
     ViewParent p = getParent(); 
     if (p != null) 
      p.requestDisallowInterceptTouchEvent(true); 
    } 

    return false; 
} 
+3

Grazie uomo, quello ha funzionato! – int21h

+0

Grazie! Funziona! – Roboblob

+0

Sei un uomo campione, ho provato tante cose, l'implementazione sull'ascoltatore touch non funzionava, ma questo ha funzionato. – viv