2017-10-13 3 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; 
      } 
     }; 

を行なったし、ここでは、すべてのリスト固有の変更を行います。これは悪い習慣ですか?私はプロジェクトファイルを過度に複雑にするたびに新しいアダプタを拡張したいと思うので、コードを整理するのに役立ちます。このアプローチには何らかの欠点がありますか?つまり、悪いコードスタイルになる可能性がありますか?

この質問が広範囲であれば申し訳ありません。私は一般的なadv/disadvに尋ねるいくつかの他の質問を見た。匿名のクラスの、しかし何も特定の。

+1

リサイクルビューを使用してください。このリンクを確認してください。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-an -interface-vs-instantiating-via-anonymous-class) – pirho

関連する問題