2016-03-31 11 views
0

Ich habe Fragment mit dem nächsten LayoutViewPager doesnt Arbeit richtig mit TabLayout

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="54dp" 
     app:tabGravity="center" 
     app:tabMode="scrollable" 
     app:tabSelectedTextColor="@android:color/white" 
     app:tabTextColor="@color/tab_color" 
     app:tabIndicatorHeight="3dp" 
     app:tabTextAppearance="@style/Discover.TextAppearance.Tab"/> 
    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     > 
     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      /> 
    </FrameLayout> 
</LinearLayout> 

Wenn ich App auf Kaltstart, werde ich richtig TabLayout mit allen benötigten Registerkarten und zwei ersten Seiten in viewpager (Set-Offset sehen Limit 1 für Viewpager).

Nachdem ich ViewPager auf 3 Seite swipe, werde ich nichts sehen. Es sieht so aus als ob Fragment in ViewPager fehlt, aber ich sehe Logs und Fragment funktioniert gut.

Wenn ich App an den Hintergrund sende und zurück kehre, sind alle Seiten sichtbar.

Wenn ich Tablayout entfernen und den gesamten Cache löschen, wird dieser Fehler nicht wiederholt.

Initialisierung Code:

final TabLayout tabs = (TabLayout) view.findById(R.id.tabs); 
final ViewPager page = (ViewPager) view.findById(R.id.pager); 
final DataAdapter adapter = new DataAdapter(someData); 
page.setAdapter(adapter); 

tabs.setupWithViewPager(page); 
+0

Verwenden Sie coordinatorLayout als root anstelle von LinearLayout –

+0

@bryanc, ich habe versucht, Ergebnis ist das gleiche. – Rusfearuth

+0

Warum legen Sie Offset-Limit 1 fest, wenn Sie 3 Seiten haben? ViewPager wird nun nur 2 Seiten –

Antwort

0

Könnten Sie mehr Code übergeben? Und Sie sollten RelativeLayout berücksichtigen und das FrameLayout einfach überspringen.

Verwandte Themen