2015-04-01 16 views
11

Ich habe den neuen Datepicker in einem Fragment implementiert. Dies ist in einer Scrollview verpackt. Wenn ich versuche, den Datepicker zu benutzen, muss ich irgendwo auf dem Bildschirm klicken und halten, bevor ich durch den Datepicker Calader scrollen kann, um es sagen zu können.Android 5.0 Datepicker in scrollview funktioniert nicht (Monate nicht scrollen)

gibt es eine Möglichkeit, das zu beheben?

im diesen Timepicker mit: enter image description here

Und im Laden es so:

wegen der Scroll Komponente Dies ist
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/scrollView2" 
    android:layout_row="11" 
    android:fillViewport="true" 
    android:background="#162229" 
    android:layout_column="2" 
    android:paddingBottom="20dp"> 
<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:background="#162229" 

    android:orientation="vertical" > 

    <DatePicker 
     android:id="@+id/datePicker1" 
     android:layout_width="wrap_content" 
     android:background="#162229" 
     android:calendarTextColor="#fff" 
     android:layout_height="wrap_content" 

     android:calendarViewShown="false" > <!-- style="@style/date_picker_style" --> 
    </DatePicker> 
</LinearLayout> 
</ScrollView> 
+0

ich hatte das gleiche Problem, leider hatte ich einen DatePickerDialog zu verwenden und es funktioniert ohne Problem. [Gutes Beispiel] (http://pulse7.net/android/date-picker-dialog-time-picker-dialog-android/) und [ein anderes Beispiel] (http://androidopentutorials.com/android-datepickerdialog-on- edittext-click-event /) – Juancho

+2

ich hatte auch das selbe Problem. Damals habe ich ** bold'android: datePickerMode = "spinner" '** benutzt, um das Problem zu vermeiden. Aber das Aussehen und Gefühl wird nicht erhalten – Sanu

+0

Meine beste Vermutung ist, dass die Scrollview Parent die Gesten abfangen und sie von der DatePicker behandelt werden müssen, bevor die ScrollView sie bekommt. Ich befürchte, dass ich mit der DatePickerDialog-Option auch gleich fertig werden kann. –

Antwort

0

Eltern. Entfernen Sie entweder die Bildlaufansicht oder verwenden Sie das Dialogfeld zur Datumsauswahl.

13

Erstellen Sie eine Klasse, die Datepicker und überschreiben Sie die folgende Methode erweitert:

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

    return false; 
} 

Es wird gut funktionieren. Quelle: here

Verwandte Themen