我是Android新手。我有几个按钮,当我点击它们时,我得到一些项目列表。与单击的按钮无关,列表视图完全相同,唯一改变的是被调用以对项目收费的远程url
。有没有比使用片段更好的方法呢?或者是否可以在每个适配器的getView方法中添加一些url
参数(我为每个片段使用适配器)
答案 0 :(得分:1)
取决于。
您无法直接将其他参数传递给Adapter.getView(),但您可以将其他信息(例如,您从该URL加载的URL或项目)作为构造函数参数传递给Adapter子类,从getView()的实现中访问它。
根据您提供的有限数量的详细信息,我建议让一个Fragment类处理列表的显示,并传递URL以将数据从片段加载到片段中作为参数:
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;
}
...
}
然后,片段可以异步处理数据并显示列表。
就最佳实践而言,我倾向于在这样的静态工厂方法中隐藏创建/参数传递部分,因此想要使用该片段的代码不需要知道参数是如何编组到的如果需要,您可以处理参数验证,默认值等。