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

Dynamically create tab in android and load fragment with parameters passed in it

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

谢谢


我之前用我的代码发布了一个帮助请求,或者我可能无法在那里定义我的问题: Dynamically adding tabs in android with webview and fragment

试试这个我很久以前就做过了,也许有一些错误,但仍然:

在 mainactivity 中创建片段和 urls 的数组列表:

 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;

定义构造函数并初始化以上两个变量:

 public PagerAdapter(FragmentManager fm, Context context, ArrayList<Fragment> fragments,ArrayList<String> urls) {
        super(fm);
        this.context = context;
        this.fragments = fragments;
        this.urls=urls;
    }

现在的主要功能是 getItem() 将捆绑包中的数据传递给 activity:

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