试试这个,我很久以前就做过了,可能有一些错误,但仍然:
在mainactivity中创建片段和url的arraylist:
ArrayList<Fragment> fragments = new ArrayList<>();
ArrayList<String> urls = new ArrayList<>();
现在,当你迭代你的动态数据时,继续添加:
while(iterator.hasNext()) {
fragments.add(new ftab1());
urls.add(url);
}
现在设置适配器传递上面两个arraylist:
PagerAdapter pageradapter= new PagerAdapter(getSupportFragmentManager(),getApplicationContext(),fragments,urls);
pager.setAdapter(pageradapter);
现在来到 PagerAdapter:
创建两个全局变量
ArrayList<Fragment> fragments;
ArrayList<String> urls;
定义构造函数并初始化以上2个变量:
public PagerAdapter(FragmentManager fm, Context context, ArrayList<Fragment> fragments,ArrayList<String> urls) {
super(fm);
this.context = context;
this.fragments = fragments;
this.urls=urls;
}
现在主要功能是 getItem() 将数据包传递给该活动:
@Override
public Fragment getItem(int i) {
Bundle data = new Bundle();
data.putString("url",urls.get(i));
fragments.get(i).setArguments(data);
return fragments.get(i);
}
现在像这样在你的 ftab1 中获取 url:
String url = getArguments().getString("url");