1

質問は、アプリケーション用のファイルエクスプローラー機能を作成した方法から生じます(私の最初の方法)。

次のアプローチのどれがパフォーマンスよりも優れているかを教えてください。

ケースI -getView()メソッドをオーバーライドするようにアドバイスするアプローチがあります。ここで与えられたもののように。

ケースII-アダプタークラスにカスタムメソッド(getViewではない)がある別のメソッドを使用しました

  1. リストビューの各行のHashMap。
  2. ArrayList>(a)からの各HashMapを保持します
  3. SimpleAdapter(Context、List>、int、String []、int [])

(リストのフォルダー/ファイルを賢く並べ替えてから、フォルダーとファイル内でアルファベット順に並べ替えるには、追加の反復を行う必要があると言わなければなりません。長い道のりで並べ替えを行い、コンパレーターを使用しませんでした)

私のコードはここに与えられたものに近いです

ケースIII*または、上記の2つのアプローチよりも優れたものはありますか?

ありがとう。

4

2 に答える 2

0

個人的には、独自のアダプターを作成し、getViewメソッドをオーバーライドします。その理由は、クラスで何ができるかについて、はるかに優れた柔軟性と制御が得られるためです。たとえば、データをバックアップするデータ構造を変更すると、処理が簡単になります。最終的には、フォルダーのコンテンツを一定期間キャッシュすることに依存するある種のアルゴリズムを実行することをお勧めします。これは、SimpleAdapterではより困難になります。SimpleAdapterを使用すると、getViewで記述する必要のある数行のコードを節約できますが、全体としては、それほど役立つとは思いません。ビューホルダーを使用するなど、リストビューを高速化するために必ず実行する必要のある特定のことがあります。

于 2012-10-17T17:48:29.343 に答える
0

ArrayAdapterを拡張し、getView()をオーバーライドするだけです。ViewHolderパターンを使用して、より効率的にします。ケース2で提案されているものよりもはるかに単純であり、ケース2では画像が許可されていないと思います。

于 2012-10-17T17:46:52.897 に答える