我对 Android 非常陌生。我有几个按钮,当我单击它们时,我会得到一些项目列表。与单击的按钮无关, ListView 完全相同,唯一改变的是远程 url
调用元素收费。有没有比使用 fragment 更好的方法来做到这一点?或者是否可以添加一些url
每个适配器的 getView 方法中的参数(我为每个 fragment 使用一个适配器)
最佳答案
这取决于。
您无法直接将其他参数传递给 Adapter.getView(),但您可以将其他信息(例如 URL 或从该 URL 加载的项目)作为构造函数参数传递给您的 Adapter 子类,并且从 getView() 的实现中访问它。
根据您提供的有限详细信息,我建议使用单个 Fragment 类来处理列表的显示,并将用于加载数据的 URL 作为参数传递给 fragment ,如下所示:
public class MyListFragment extends Fragment {
private static String ARG_URL = "url";
public static MyListFragment create(String url) {
Bundle args = new Bundle();
args.putString(ARG_URL, url);
MyListFragment fragment = new MyListfragment();
fragment.setArguments(args);
return fragment;
}
...
}
然后,该 fragment 可以处理异步加载数据和列表显示。
就最佳实践而言,我倾向于将创建/参数传递部分隐藏在像这样的静态工厂方法中,因此想要使用 fragment 的代码不需要知道参数是如何精确编码的一个 Bundle,如果需要,您可以处理参数、默认值等的验证。
关于java - 使用 fragment 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818353/