Android 如何将片段作为视图添加到ViewPager?
我正在使用viewPager,希望向其添加片段:Android 如何将片段作为视图添加到ViewPager?,android,fragment,viewpagerindicator,fragmentpageradapter,Android,Fragment,Viewpagerindicator,Fragmentpageradapter,我正在使用viewPager,希望向其添加片段: public class MyFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup contner, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.tab_frag2_layout, contain
public class MyFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup contner,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_frag2_layout, container, false);
return view;
}
public static Fragment newInstance() {
// TODO Auto-generated method stub
MyFragment mfg = new MyFragment();
return mfg;
}
}
我的PagerAdapter:
public class ViewPagerAdapter extends PagerAdapter
{
private static String[] titles = new String[]
{
"Page 1",
"Page 2",
"Page 3",
"Page 4"
};
private final Context context;
public ViewPagerAdapter( Context context )
{
this.context = context;
}
@Override
public String getPageTitle( int position )
{
return titles[ position ];
}
@Override
public int getCount()
{
return titles.length;
}
@Override
public Object instantiateItem( View pager, int position )
{
TextView v = new TextView( context );
v.setText( titles[ position ] );
((ViewPager)pager).addView( v, 0 );
//This gives me nullPointerException///////////////////////////////////
MyFragment mfg = new MyFragment();
((ViewPager)pager).addView(mfg.newInstance().getView());
return v;
}
@Override
public void destroyItem( View pager, int position, Object view )
{
((ViewPager)pager).removeView( (TextView)view );
}
@Override
public boolean isViewFromObject( View view, Object object )
{
return view.equals( object );
}
@Override
public void finishUpdate( View view ) {}
@Override
public void restoreState( Parcelable p, ClassLoader c ) {}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate( View view ) {}
}
将MyFragment添加到ViewPager的正确方法是什么?我必须将其添加为视图,因此我使用newInstance()方法,但会给我一个nullPointerException
谢谢 使用FragmentPagerAdapter(而不是ViewPagerAdapter)并实现其
Fragment getItem(int position){}
用你的碎片
return getNewInstance();
同时也别忘了从FragmentActivity类派生您的活动