2015-03-01 4 views
1

У меня есть ViewPager с 2 фрагментами в другом фрагменте: MainView простирается от фрагмента, а вид ViewPager также простирается от фрагмента.ViewPager dosen't показать виды

Когда я запускаю приложение, все работает нормально, но когда я перехожу к фрагменту MainView, а затем обратно в фрагмент ViewPager - ViewPager не отображает представления.

Это MainView с кодом ViewPager в:

public class statistic extends Fragment { 

    static final int NUM_ITEMS = 2; 

    statisticViewPagerAdapter adapter; 
    ViewPager viewPager; 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_statistic, container,false); 

     adapter = new statisticViewPagerAdapter(getFragmentManager()); 
     viewPager = (ViewPager) rootView.findViewById(R.id.statisticPager); 
     viewPager.setAdapter(adapter); 
     viewPager.setCurrentItem(NUM_ITEMS-1); 

     return rootView; 
    } 
} 

Это ViewPager адаптер код:

public class statisticViewPagerAdapter extends FragmentPagerAdapter { 
    static final int NUM_ITEMS = 2; 

    public statisticViewPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int postion) { 
     switch (postion){ 
      case 0: return new statisticFinance(); 
      case 1: return new statisticCigarettes(); 
      default: return null; 
     } 
    } 

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

ViewPager XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" 
    android:orientation="vertical" 
    tools:context="${relativePackage}.${activityClass}"> 

    <include layout="@layout/b_top_views" /> 
    <!-- Title --> 

    <TextView 
     android:id="@+id/statistic" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:text="@string/statistic" 
     android:textSize="16sp" /> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="1dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="2dp" 
     android:background="#cfcfcf" /> 
    <!-- Pager --> 
    <android.support.v4.view.ViewPager 
     android:id="@+id/statisticPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="10dp"/> 

</LinearLayout> 

Что мне не хватает? Как заставить ViewPager показать представления?

+0

где вы настройки вашего ViewPager и адаптер? Это также должно быть сделано где-то! – TheWhiteLlama

+0

Я добавил код. По ** статистике ** класс – Shachar87

ответ

0

Изменение:

adapter = new statisticViewPagerAdapter(getFragmentManager()); 

в

adapter = new statisticViewPagerAdapter(getChildFragmentManager()); 
+0

Ничего себе так просто. Спасибо (:. Я видел эту команду, но не понимал, как ее использовать ... – Shachar87

Смежные вопросы