2017-02-06 10 views
0

Ich habe Tablayout mit Viewpager gesetzt. Mein Problem ist Fragament wird nicht auf Tab-Wechsel angezeigt. Es zeigt nur Tabs, aber nicht die unten angefügte Fragmentansicht mit, was ist das Problem ich kann es nicht herausfinden.Tablayout mit Viewpager funktioniert nicht

In meinem MainActivity, mein Code für tablayout und Ansicht Pager ist wie folgt: -

 categoryViewPager = (ViewPager) findViewById(R.id.container); 
      categoryViewPager.setOffscreenPageLimit(3); 
      categoryViewPager.setCurrentItem(0); 
      categoryPagerAdapter = new CategoryPagerAdapter(getSupportFragmentManager()); 
      categoryViewPager.setAdapter(categoryPagerAdapter); 


      categoryTabs = (TabLayout) findViewById(R.id.tabs); 
      categoryTabs.setupWithViewPager(categoryViewPager); 

      for (int i = 0; i < 3; i++) { 
       categoryTabs.getTabAt(i).setText(categoryList[i]); 
      } 

Ich habe das Layout in Nested Scroll-Ansicht ist: -

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <include 
     android:id="@+id/toolbar" 
     layout="@layout/layout_toolbar_colored" /> 


    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/toolbar"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <RelativeLayout 
       android:id="@+id/layout_clinic" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingBottom="8dp"> 

       <ImageView 
        android:id="@+id/iv_clinic_images" 
        android:layout_width="match_parent" 
        android:layout_height="180dp" 
        android:layout_marginLeft="8dp" 
        android:layout_marginRight="8dp" 
        android:layout_marginTop="8dp" 
        android:scaleType="fitXY" 
        android:scrollbars="horizontal" 
        android:src="@drawable/placeholder_image" /> 

       <RelativeLayout 
        android:id="@+id/clinic_details" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/iv_clinic_images" 
        android:layout_marginTop="8dp"> 

        <TextView 
         android:id="@+id/tvClinicLabel" 
         style="@style/HeaderPrimary" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="16dp" 
         android:text="@string/clinic_name" /> 

        <RelativeLayout 
         android:id="@+id/rl_clinic_rating" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentRight="true" 
         android:layout_marginRight="8dp" 
         android:background="@drawable/green_round_corner" 
         android:gravity="center"> 

         <ImageView 
          android:id="@+id/clinic_mood" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_centerVertical="true" 
          android:padding="4dp" 
          android:src="@drawable/green_happy" /> 

         <TextView 
          android:id="@+id/tv_rating" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_centerVertical="true" 
          android:layout_toRightOf="@+id/clinic_mood" 
          android:padding="4dp" 
          android:text="@string/user_rating_secondary" 
          android:textColor="@color/positive" 
          android:textSize="14sp" 
          android:textStyle="bold" /> 
        </RelativeLayout> 

       </RelativeLayout> 


       <TextView 
        android:id="@+id/tv_clinic_offers" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/clinic_details" 
        android:layout_marginLeft="20dp" 
        android:layout_marginTop="8dp" 
        android:fontFamily="sans-serif-regular" 
        android:gravity="left" 
        android:paddingRight="16dp" 
        android:textColor="@color/treatment_session" 
        android:textSize="14sp" /> 


       <RelativeLayout 
        android:id="@+id/layout_doctors" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/tv_clinic_offers" 
        android:layout_marginTop="12dp" 
        android:gravity="center_vertical"> 

        <TextView 
         android:id="@+id/doc_title" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerVertical="true" 
         android:layout_marginLeft="12dp" 
         android:layout_toRightOf="@+id/imgDoctors" 
         android:fontFamily="sans-serif-medium" 
         android:gravity="center" 
         android:text="@string/doctors" 
         android:textColor="@color/treatment_session" 
         android:textSize="15sp" /> 

        <View 
         android:layout_width="match_parent" 
         android:layout_height="0.9dp" 
         android:layout_centerVertical="true" 
         android:layout_marginLeft="8dp" 
         android:layout_marginRight="8dp" 
         android:layout_toRightOf="@+id/doc_title" 
         android:background="@color/divider_line" /> 

       </RelativeLayout> 


       <android.support.v7.widget.RecyclerView 
        android:id="@+id/recycler_doctor_images" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/layout_doctors" 
        android:layout_marginLeft="16dp" 
        android:layout_marginTop="8dp" /> 


       <LinearLayout 
        android:id="@+id/ll_doctor_details" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/layout_doctors" 
        android:orientation="horizontal" 
        android:padding="8dp" 
        android:visibility="gone" 
        android:weightSum="1"> 

        <de.hdodenhof.circleimageview.CircleImageView 
         android:id="@+id/doctor_image" 
         android:layout_width="0dp" 
         android:layout_height="64dp" 
         android:layout_weight="0.2" 
         android:src="@drawable/account_circle" /> 

        <RelativeLayout 
         android:id="@+id/rl_doctor_details" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:layout_weight="2" 
         android:paddingLeft="8dp"> 

         <TextView 
          android:id="@+id/tv_doc_name" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignParentTop="true" 
          android:ellipsize="end" 
          android:fontFamily="sans-serif-medium" 
          android:gravity="center" 
          android:text="@string/doc_id" 
          android:textColor="@color/treatment_session" 
          android:textSize="14sp" /> 

         <TextView 
          android:id="@+id/tv_doc_qualification" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tv_doc_name" 
          android:ellipsize="end" 
          android:textColor="@color/treatment_session" 
          android:textSize="12sp" /> 

         <TextView 
          android:id="@+id/tv_doc_experience" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tv_doc_qualification" 
          android:ellipsize="end" 
          android:textColor="@color/profile_subtext" 
          android:textSize="10sp" /> 

        </RelativeLayout> 

       </LinearLayout> 

      </RelativeLayout> 


      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/layout_clinic" 
       android:padding="8dp"> 

       <android.support.design.widget.TabLayout 
        android:id="@+id/tabs" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        app:tabIndicatorColor="@color/resend_otp" 
        app:tabTextColor="@color/black" /> 

       <android.support.v4.view.ViewPager 
        android:id="@+id/container" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/tabs" /> 


       <ImageView 
        android:id="@+id/treatment" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="6dp" 
        android:src="@drawable/my_treatments" 
        android:visibility="gone" /> 

       <TextView 
        android:id="@+id/tv_treatment_head" 
        style="@style/HeaderSecondary" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="4dp" 
        android:layout_toRightOf="@+id/treatment" 
        android:text="@string/treatment_label" 
        android:visibility="gone" /> 

       <View 
        android:id="@+id/divider" 
        android:layout_width="match_parent" 
        android:layout_height="0.5dp" 
        android:layout_below="@+id/container" 
        android:layout_marginTop="16dp" 
        android:background="@color/divider" 
        android:visibility="gone"/> 

       <android.support.v7.widget.RecyclerView 
        android:id="@+id/recycler_treatment" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/divider" 
        android:layout_marginTop="8dp" 
        android:visibility="gone" 
        android:scrollbars="horizontal" 
        app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

      </RelativeLayout> 

     </RelativeLayout> 

    </android.support.v4.widget.NestedScrollView> 


</RelativeLayout> 

und mein Adapter ist: -

private class CategoryPagerAdapter extends FragmentPagerAdapter { 
    public CategoryPagerAdapter(FragmentManager supportFragmentManager) { 
     super(supportFragmentManager); 
    } 


    @Override 
    public Fragment getItem(int position) { 
     switch (position) { 
      case 0: 
       return new DummyTreatmentFragment(); 
      case 1: 
       return new DummyOffersFragment(); 
      case 2: 
       return new DummyCentersFragment(); 
      default: 
       return null; 
     } 
    } 

    @Override 
    public int getCount() { 
     return 3; 
    } 


} 
+0

sind Sie sicher, es nicht angezeigt wird, sieht alles machen OK, um mich so zu nennen! –

Antwort

1

versuchen Sie dies:

 categoryTabs = (TabLayout) findViewById(R.id.tabs); 
     categoryViewPager = (ViewPager) findViewById(R.id.container); 
     for (int i = 0; i < 3; i++) { 
      categoryTabs.getTabAt(i).setText(categoryList[i]); 
     } 

     categoryPagerAdapter = new CategoryPagerAdapter(getSupportFragmentManager()); 
     categoryViewPager.setAdapter(categoryPagerAdapter); 

     categoryTabs.setupWithViewPager(categoryViewPager); 
     categoryViewPager.setOffscreenPageLimit(3); 
     categoryViewPager.setCurrentItem(0); 

versuchen zuerst die tablayout einrichten, bevor setupWithViewPager

Auch Ihre viewpager android:layout_height="match_parent"

+0

Ich denke, es ist wegen der verschachtelten Bildlaufansicht, die vertikal scrollt und Pager anzeigen, die horizontal scrollen? Ich bin mir nicht sicher! – sanket

+0

@ rafsanahmad007 sicher, ich sehe es nur ein seltsames Problem, wollte nicht sagen, dass Sie antworten, ist falsch oder etwas :) –

+0

@sanket Post das vollständige XML-Layout hast du die Änderung versuchen? – rafsanahmad007

Verwandte Themen