我正在创建一个在 ListView 中显示数据的应用程序。数据分为两种类型(热门、收藏夹)。我有一个活动和两个片段。片段根据类别显示项目列表。我为此使用了 ListView。然后我有两个fragment_layouts,它们在设计上完全相同,但具有不同的视图id,即TextViews的tvId1、tvId2。 Fragment 中的代码仅在引用其相应的布局和布局中的视图方面有所不同。我从 JSON 格式的 URL 获取数据。但每个类别都有一组不同的 URL,它们产生相同的结构,只是数据不同。然后,我解析每个 Fragment 上相应的 URL 并相应地填充 ListView。到目前为止一切正常。
我想知道的是,有没有一种方法可以让我只使用一个片段并使用它两次,每次使用不同的数据集?这样,如果出现新类别,我就不必创建另一个片段。
感谢任何帮助。
当然可以。事实上你应该这样做。
创建片段时不要使用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;
}
然后您可以使用以下方法获取 onCreate() 方法的类型:
getArguments().getInt("type");
然后你得到类型,你可以相应地调用你的网络服务,然后你可以设置Views
因此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)