在 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");
我想根据数组中给定的网站数动态创建标签。在每次单击选项卡时,我想通过从数组中传递相应的 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");