如何解决在android中动态创建标签并加载带有传入参数的片段
我想根据数组中给定的网站数量动态创建选项卡。在每次单击选项卡时,我想通过从数组传递相应的网站 url 来加载带有 webview 的片段,其中加载了网站。我也可以在其中实现寻呼机吗?
谢谢
我之前曾用我的代码发布过帮助请求,或者我无法在那里定义我的问题: Dynamically adding tabs in android with webview and fragment
解决方法
试试这个我很久以前就做过了,可能有几个错误,但仍然:
在主要活动中创建片段和网址的数组列表:
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");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。