创建BaseAdapter的匿名实例有什么缺点吗?

时间:2017-10-13 11:49:30

标签: java android baseadapter anonymous-class

我处理使用很多不同类型列表的项目,所以我做了这个

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。匿名课程,但没有具体。

1 个答案:

答案 0 :(得分:0)

如果不同的BaseAdapters都有不同的实现,那很好。

但是如果你觉得你的许多匿名BaseAdapters重复相同(或类似)的代码,那就选择命名实现,因为你可以重复使用它们(不要重复自己)。

与命名类相比,匿名类几乎没有任何问题。我个人经历过的事情:类的技术命名会在封闭的类名中附加类似“$ nnn”的内容。所以不要坚持这些类名,期望它们即使在应用程序的版本更改时也能保持稳定。很可能在编辑你的课程后,你会在下一次编辑中获得不同的“$ nnn”后缀。