如何将Fragment实现到ViewPager中?

时间:2015-11-21 17:09:58

标签: android android-fragments

我尝试将Fragment实现到ViewPager中,以使我的应用程序更加灵活。我的应用程序包含TextView,如果您从左向右交换页面,我会有一些将逐一显示的短语。现在它像我发布的那样工作,但我想添加一个按钮或者更多功能,这就是为什么我想让它像Fragments中的构造函数一样..我试着改变我在this post看的代码但是不能完全理解如何做到这一点。我创建了两个布局:一个用于文本视图,另一个用于放置片段。任何人都可以告诉我如何清楚地做到这一点吗?

public class SwipeAdapter extends PagerAdapter{

private int[] car = {R.string.car1, R.string.car2,
        R.string.car3, R.string.car4, R.string.car5};
private Context context;
private LayoutInflater layoutInflater;

public SwipeAdapter(Context context){
    this.context = context;
}

@Override
public int getCount() {
    return car.length;
}

@Override
public boolean isViewFromObject(View view, Object object) {
    return (view==(RelativeLayout)object);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View itemView = layoutInflater.inflate(R.layout.carSwipe, container, false);

     TextView textView = (TextView) itemView.findViewById(R.id.interTextView);
    textView.setText(car[position]);
    container.addView(itemView);
    return itemView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView((RelativeLayout)object);
}

2 个答案:

答案 0 :(得分:0)

您不需要ViewPager with Fragments来实现显示TextView。

您可以尝试:

  1. 在您在内容中设置的活动布局xml中,添加一个ViewPager,其中包含您偏好的宽度和高度。
  2. 然后,您可以设置上面为该ViewPager发布的适配器,它将起作用。
  3. 或者,如果您仍需要扩充Fragments,则需要扩展FragmentAdapter的FragmentStateAdapter。这将使您能够拥有ViewPager片段,

答案 1 :(得分:0)

我创建了一个完整的示例,展示了代码,我希望它可以解决您的问题https://github.com/erikcaffrey/AndroidDesignSupportLibrary