2017-10-13 35 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

相關問題