2017-10-13 81 views
0

我在使用了很多不同类型的列表中的项目的工作,所以我做了这个是否有创建BaseAdapter的匿名实例的缺点?

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; 
      } 
     }; 

,在这里做所有特定列表的变化;这是不好的做法吗?我感觉每次都会扩展一个新的适配器,使得我的项目文件更加复杂,这有助于我更好地组织我的代码。这种方法有什么缺点,即可能出错/代码风格错误?

对不起,如果这个问题是广泛/ offtopic。我看到一些其他问题要求广泛的adv./disadv。的匿名类,但没有具体的。

+1

使用recycler view.Check这个链接https://stackoverflow.com/questions/26245139/how-to-create-recyclerview-with-multiple-view-type – Anonymous

+0

你的问题是基于观点的,因此题外话 –

+0

我不同意。每一个选项都会有明显的优点和缺点(不是基于观点的,因为我已经说过,像易于管理的代码这样的美学不是我在这里寻找的)。我问是否有任何具体问题定期使用这个应用程序的匿名类 – ColonD

回答

0

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

但是,如果您觉得很多匿名代码重复相同(或类似)代码,那么请继续进行命名实现,因为您可以重复使用它们(不要重复自己)。

与命名类相比,匿名类几乎没有什么可以出错的。只有我亲身体验过的东西:类的技术命名将类似“$ nnn”的内容附加到封装的类名称中。所以不要坚持这些类名称,期望它们即使在应用程序的版本更改时也能保持稳定。很有可能编辑完类后,下一次编译会得到不同的“$ nnn”后缀。

+1

和更一般地看到[扩展接口与通过匿名类实例化](https://stackoverflow.com/questions/22728932/extending- -interface-VS-实例,通过匿名类) – pirho

相关问题