我处理使用很多不同类型列表的项目,所以我做了这个
BaseAdapter someAdapter = new BaseAdapter() {
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return null;
}
};
并在此处执行所有特定于列表的更改;这是不好的做法吗?我觉得每次扩展一个新的适配器过度复杂我的项目文件,这有助于我更好地组织我的代码。这种方法有什么缺点,即可能出错或代码样式不好的东西吗?
对不起,如果这个问题是广泛/异质的话。我看到了一些其他问题,请问一般的adv./disadv。匿名课程,但没有具体。
答案 0 :(得分:0)
如果不同的BaseAdapters
都有不同的实现,那很好。
但是如果你觉得你的许多匿名BaseAdapters
重复相同(或类似)的代码,那就选择命名实现,因为你可以重复使用它们(不要重复自己)。
与命名类相比,匿名类几乎没有任何问题。我个人经历过的事情:类的技术命名会在封闭的类名中附加类似“$ nnn”的内容。所以不要坚持这些类名,期望它们即使在应用程序的版本更改时也能保持稳定。很可能在编辑你的课程后,你会在下一次编辑中获得不同的“$ nnn”后缀。