如何在viewpager中添加listview同时listview的数据是通过网络接口API获取的
viewPager是用来添加fragment的,在fragment中添加listView,然后用adapter添加数据
可以在一个Activity中使用ViewPager添加多个Fragment,这样这个activity就可以左右滑动切换多个页面。然后再其中你所需要的fragment中添加listview,这样就可以啦
先创建Fragment,在Fragment布局里边用listview
思路: 1,viewpager是承载View的,使用fragment或动态加载View布局; 2, listView是作为子View, 需要fragment或父View装载; 3,对应布局基本理解: 嵌套!
https://blog.csdn.net/jsagacity/article/details/70483450
2种解决方案:
1.在activity布局中使用viewpager布局,在activity获取你要的数据集合,通过pageradpter传递 自定义View布局(里面写list布局),然后在去加载你的listview数据
@BindView(R.id.view_pager)
NoScrollViewPager viewPager;
myPagerAdapter = new MyPagerAdapter(this, questionData.getData().getQuestion(), list);
viewPager.setAdapter(myPagerAdapter);
viewPager.setOffscreenPageLimit(questionData.getData().getQuestion().size());
public class MyPagerAdapter extends PagerAdapter {
List<GetQuestionData.DataBean.QuestionBean> dataList;
private Context context;
private List<Character> list;
private int question_add = 0;
public MyPagerAdapter(Context context, List<GetQuestionData.DataBean.QuestionBean> dataList, List<Character> list) {
this.context = context;
this.dataList = dataList;
this.list = list;
}
public Object instantiateItem(@NonNull final ViewGroup container, final int position) {
View view = LayoutInflater.from(context).inflate(R.layout.item_view_pager_question, container, false);
final MyPagerHolder myPagerHolder = new MyPagerHolder(view);
container.addView(view);
return view;
}
2.viewpager+fragment来做,fragment里面处理网络数据的获取 在通过adpter 来添加