2017-01-05 7 views
0

Ich habe eine Aktivität, in der ich einzelne Registerkarte Layout und Inhalt dieses Registerkartenlayouts in einem Viewpager enthalten ist. Dies ist mein Teil des Codes der Hauptaktivität, der das Registerlayout und den Viewpager enthält.Scrollen im View Pager

<android.support.design.widget.TabLayout 
    android:id="@+id/materialup.tabs" 
    android:layout_width="fill_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@color/selecteditem" 
    android:fillViewport="true" 
    app:tabBackground="@drawable/tab_background" 
    app:tabGravity="fill" 
    app:tabIndicatorColor="#0000" 
    app:tabIndicatorHeight="4dp" 
    app:tabMode="fixed" 

    app:tabSelectedTextColor="?android:attr/textColorPrimaryInverse" 
    app:tabTextColor="@color/white" /> 
     ​ 
<!-- The top margin value equals half height of the blue box --> 
<android.support.v4.view.ViewPager 
    android:id="@+id/materialup.viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

und für den Inhalt dieses viewpager habe ich ein Fragment Klasse genommen, die hier eine erweiterbare Liste Ansicht enthält, ist der Teil des Codes:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:card_view="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    android:padding="4dip" 
    > 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/frstll" 
     android:orientation="vertical"> 

     <ExpandableListView     //list view taken for list items 
      android:id="@+id/expandableListView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:background="#ffffff" 
      android:childDivider="#f4f4f4" 
      android:dividerHeight="1dp" 
      android:groupIndicator="@null" /> 
    </LinearLayout> 
</LinearLayout> 

Das Problem ist, dass, wenn ich auf dem Touch Tab (der grüne Teil im Bild), das Layout scrollt perfekt, aber wenn ich auf den erweiterbaren Listview-Teil (der Teil mit weißem Hintergrund im Bild) klickt, scrollt es nicht.

Wie kann ich Scrollen erreichen, indem Sie auf den erweiterbaren Listenteil tippen?

enter image description here

Dies ist das Layout Ich habe mit dem obigen Code acheived.

Ich möchte wissen, warum die Standard-Scroll-Funktion von erweiterbaren Listview hier in meinem Code nicht funktioniert.

Sollte ich das Layout meiner Hauptaktivität oder eine kleine Änderung im Code der erweiterbaren Listansicht in meiner Fragmentklasse ändern?

+0

Bitte lesen Sie [Unter welchen Umständen kann ich „dringend“ oder andere ähnliche Ausdrücke auf meine Frage hinzufügen, um schneller Antworten zu erhalten?] (// Meta. stackoverflow.com/q/326569) - Die Zusammenfassung ist, dass dies kein idealer Weg ist, um Freiwillige anzusprechen, und ist wahrscheinlich kontraproduktiv, um Antworten zu erhalten. Bitte unterlassen Sie das Hinzufügen zu Ihren Fragen. – halfer

Antwort

0

Bitte fügen Touch auf ExpandableListView

yourRecyclerview.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     v.getParent().requestDisallowInterceptTouchEvent(true); 
     return false; 
    } 
}); 
+0

Es scrollt nicht den gesamten Bildschirm – neha

+0

setzen Sie Ihr Layout (Bild und erweiterbare Listview) in ein einziges Elternteil "scrollview" und legen Sie es zum Ausfüllen: Ansichtsfenster = wahr – pratik

Verwandte Themen