4

各項目のビューが文字列 (項目の名前) である ListView があります。しかし、価格、サイズ、重量、税金など、他の多くのデータをそのアイテムに関連付ける必要があります。そこで、Item という名前の新しい Java クラスを作成し、リスト内の各アイテムのオブジェクトを作成します。

これを実装するための最良の方法がどれかわかりません。2 つの明白な選択肢があります。

1) Android ビューの外側にデータ構造を簡単に作成し、UpdateList() というメソッドを記述して、このデータ構造の各項目の名前を取得し、ListView に配置します。これに関する問題は、一部のデータが 2 回複製され (元のデータ構造と ListView のアダプター)、データを複製するとバグの可能性が生じることです。

2) または、データ構造を ListView のアダプターに直接関連付けて、表示される各 ListView エントリの名前を表示する方法を理解させることもできます。ここでの利点は、データ構造が 1 つしかないことです。しかし、これが Android で可能か、非常に複雑かはわかりません。

Android アプリでこれを行うための推奨される方法はどれですか?

4

2 に答える 2

9

ListView と Adapter オプションを使用したほうがよいでしょう。カスタムを作成して、このオブジェクトから必要な方法でデータを取り込む必要がありますArrayAdapterListView

この手法の利点は、メモリの消費を抑えるためにViews内部をリサイクルするビュー リサイクル メカニズムを利用できることです。ListView

要するに、次のことを行う必要があります。

1.単一行のデータを表すオブジェクトを作成します。

2.ArrayListこれらのオブジェクトの を作成します。

3. ListView を含むレイアウトを作成するか、コードを使用してメイン レイアウトに ListView を追加します。

4. 1 行のレイアウトを作成します。

5.ViewHolderの観点からデータ行の視覚的側面を表す を作成しますViews

6.ArrayAdapter必要に応じて行を設定するカスタムを作成します。

7.最後に、これArrayAdapterListViewinに割り当てますonCreate

私が書いたこのブログ投稿を読むことで、これを実装する方法のアイデアを得ることができます:

カスタム ArrayAdapter を作成する

于 2013-04-10T18:06:33.830 に答える
1

アダプターを使用するだけです。それはずっときれいです。その後、getView() でリスト アイテムを表示するときに必要な情報を取得できます。この例を参照してください。

于 2013-04-10T18:02:42.360 に答える