[英]ViewPager inside a Fragment (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());
這里的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;
}
}
改變這個
import android.app.Fragment;
至
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.