2011-06-28 2 views
0

車載用の私の現在のアプリケーションでは、RelativeLayout(ダッシュボード)内の任意の場所に一連のビュー(ゲージを表す)を表示しています。明らかに、それらのゲージの位置、その属性、それらが表示する測定データなどを記述するバッキングデータの量があります。私のアプリケーションにandroid.widget.Adapterを拡張することは有利でしょうか?

この時点で、バッキングデータを適切なゲージビューに変換するコードを含む別個のアダプタクラスを作成することは賢明です。これは、さまざまなタイプのView(ListView、Spinnerなど)がBaseAdapterの適切なサブクラスを受け入れてバッキングデータとのインタフェースを処理する、既存のAndroidパターンに従います。

RelativeLayoutを拡張してアダプタを受け入れ、標準のアダプタメソッド(getCount()getView()など)を呼び出すことを検討していたこと。私のカスタムアダプターは適切なLayoutParamsを各ビューに適用して、RelativeLayoutに適切に配置されるようにします。

このように特定の質問ではなく、アダプタインターフェイスの使用がこのインスタンスに適しているかどうか不思議です。 Androidライブラリでは、アダプターはリスト形式で情報を表示するビューによく使用されるようです。 Adapter(またはBaseAdapter)をサブクラス化することは、私がやっていることの良いパターンのように聞こえるか、データがリストに表示されていない状況でそれを使用することによって幾分穀粒に逆らっていると思いますか?

+0

これはアダプタであり、リスト内で使用されているとは関係ありません。 – Blundell

答えて

1

私はアダプタインタフェースを使用すると、この場合に適しているかどうかを知るためにちょうど好奇心が強い

IMHO、いいえ、あなたはゲージの任意の数を持っていない限り。 AdapterViewは、リサイクルパターンを使用して0-Nの子どもをサポートすることを想定して設計されています。 Adapterは、AdapterViewとともに使用されるように設計されています。

+0

ありがとうございます。表示されるゲージやその他の「ウィジェット」は任意の数です。ユーザーは実行時にそれらの数を操作することができ、すべてを一度に見ることができます。 Viewリサイクルパターンは、これを考慮していなかったので、あなたが言及していることは便利です。これは、Adapterインターフェイスの機能の1つです。間違いなくアダプタユーティリティクラスを実装するのは間違いではありませんが、Androidの独自のアダプタインターフェイスを実装し、そのパターンのパターンに従うことは「良いこと」かもしれませんが、おそらく本当の理由はありません。 – Trevor

+0

@ Trev16v:そうですね、一度にすべて見ることができるのであれば、「AdapterView」はあなたに何も買わず、複雑さを加えます。 – CommonsWare

関連する問題