2015-03-19 5 views
0

Мое приложение имеет основное действие с ящиком навигации, позволяющим приложению перемещаться между фрагментами. Каждый список элементов в навигационном ящике показывает фрагмент.ViewPager внутри фрагмента (NestedFragments)

В одном из этих фрагментов я хочу ViewPager, и вот где я застрял. Если я не ошибаюсь, это фрагмент внутри другого фрагмента (вложенные фрагменты), но я не могу сделать эту работу.

Это код фрагмента, который содержит ViewPager Seccion1.java

import android.app.Fragment; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

import java.util.ArrayList; 
import java.util.List; 

public class Seccion1 extends Fragment { 

    ViewPager vp; 

    private List<android.support.v4.app.Fragment> getFragments(){ 
     List<android.support.v4.app.Fragment> list = new ArrayList<android.support.v4.app.Fragment>(); 
     list.add(ModelFragment.newInstance("Hola como andas", "descriociones")); 
     list.add(ModelFragment.newInstance("0895452125x", "#FFFFEF59")); 
     list.add(ModelFragment.newInstance("22 Mart", "#FF9C63FF")); 
     list.add(ModelFragment.newInstance("Sak", "#72a83b")); 
     list.add(ModelFragment.newInstance("Android Studio", "#a83b97")); 
     return list; 
    } 

    //@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.seccion1, container, false); 

     vp = (ViewPager)rootView.findViewById(R.id.vp); 

     //vp.setPageTransformer(true, new RotateDownTransformer()); 
     ControllerFragment cf = new ControllerFragment(getChildFragmentManager(), getFragments()); 
     vp.setAdapter(cf); 

     return rootView; 
    } 
} 

Я не знаю, как исправить эту строку:

ControllerFragment Cf = новый ControllerFragment (getChildFragmentManager(), getFragments());

Image error

Здесь ControllerFragment код ControllerFragment.java

import android.content.Context; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.View; 
import android.widget.RelativeLayout; 
import android.widget.TextView; 
import java.util.List; 

public class ControllerFragment extends FragmentPagerAdapter { 
    List<Fragment> fragments; 
    Context context; 

    public ControllerFragment(FragmentManager fm, List<Fragment> fragments){ 
     super(fm); 
     this.fragments = fragments; 
    } 

    public Fragment getItem(int position){ 
     return fragments.get(position); 
    } 

    public int getCount(){ 
     return fragments.size(); 
    } 

    public Object instantiateItem(View view, int position){ 
     RelativeLayout relativeLayout = (RelativeLayout)view.inflate(context, R.layout.custom_fragment, null); 
     TextView tv_text = (TextView)relativeLayout.findViewById(R.id.tv_text); 
     TextView tv_description = (TextView)relativeLayout.findViewById(R.id.tv_description); 
     ((ViewPager) view).addView(relativeLayout); 
     return relativeLayout; 
    } 
} 

ответ

0

Изменить этот

import android.app.Fragment; 

в

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
+0

Большое спасибо! Это была проблема. – fn5341