我正在创建一个在ListView中显示数据的应用程序.数据分为两种类型(热门,收藏).我有一个活动和两个碎片.片段根据类别显示项目列表.我使用了ListView.然后,我有两个fragment_layout,它们在设计上完全相同,但具有不同的视图ID,即用于TextViews的tvId1,tvId2.片段中的代码仅在引用布局中的相应布局和视图时有所不同.我从一个JSON格式的URL中获取数据.但是每个类别都有一组不同的URL,它们只产生不同数据的相同结构.然后我解析每个片段上的相应URL并相应地填充ListView.到目前为止一切都有效.
我想知道的是,有没有一种方法可以使用一个片段并使用两次,每个片段使用不同的数据集?这样,如果出现新类别,我不必创建另一个片段.
感谢任何帮助.
tas*_*iac 11
当然可以.事实上你应该这样做.
在创建片段时,请不要使用new Fragment();
创建以数据作为参数的静态newInstance函数.
public static MyFragment newInstance(int type) {
MyFragment fragment = new MyFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用下面的onCreate()方法得到类型:
getArguments().getInt("type");
Run Code Online (Sandbox Code Playgroud)
然后你得到类型,你可以相应地调用你的webservice,然后你可以相应地设置Views.
| 归档时间: |
|
| 查看次数: |
2047 次 |
| 最近记录: |