在android中动态创建选项卡,并使用传入的参数加载片段



我想根据数组中给定的网站数量动态创建选项卡。在每次点击选项卡时,我都想通过从数组中传递相应的网站url来加载一个带有webview的片段,其中加载了网站。我也可以在里面实现寻呼机吗?

感谢


我之前在发布了一个关于我的代码的帮助请求,或者可能是我无法在那里定义我的问题:在安卓系统中动态添加标签,带有webview和片段

试试这个,我很久以前就这么做了,可能有几个错误,但仍然:

在主活动中创建片段和URL的数组列表:

ArrayList<Fragment> fragments = new ArrayList<>();
ArrayList<String> urls =  new ArrayList<>();

现在,当你迭代你的动态数据时,不断添加:

while(iterator.hasNext()) {
fragments.add(new ftab1());
urls.add(url);
}

现在设置适配器通过上面两个数组列表:

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");

最新更新