0

私は階層的なデータ構造を持っています。例として、私のデータ テレビ番組を考えてみましょう。各ショーには複数のシーズンがあり、各シーズンにはいくつかのエピソードがあります。すべての番組を表示するリストが必要です。番組をクリックすると、その番組のすべてのシーズンがリストに表示され、シーズンをクリックすると、そのシーズンのすべてのエピソードがリストに表示されます。

わかりましたので、邪魔にならないように、現在私はスルーActivityを実装するものを持っています。このローダーは、データの完全な階層を返します (別名、すべてのシーズンとすべてのエピソードを含むすべての番組)。次に、使用しているデータのレベルに応じて別のものを使用します。LoaderLoaderCallbacksArrayAdapter

これは、この種のデータを処理する「正しい」方法ですか? 代わりに、データのレベルごとにローダー、アクティビティ、およびアダプターを用意する必要がありますか?

これが混乱を招く場合は申し訳ありませんが、洞察力を事前に感謝します。

4

1 に答える 1

0

ここには本当に正しいも間違いもありません。データ セットごとに 1 つのアクティビティとアダプターを使用します。これにより、アクティビティの複雑さが軽減され、アクティビティが互いに分離されます。あなたの場合、私は次のようになります:

  • ShowActivity+ShowAdapter
  • SeasonActivity+SeasonAdapter
  • EpisodeActivity+EpisodeAdapter

データ モデル (ショー、シーズン、エピソードを含む) は、アクティビティからアクセスできるようにし、正しいデータで各アクティビティとアダプターを初期化するために使用する必要があります。

番組が選択されたら、インテント バンドルを介して番組の ID を次のアクティビティに渡し、SeasonActivity で番組 ID を取得し、データ モデルから関連するシーズンを取得して表示します。シーズンからエピソードへの移行についても同じことが言えます。

リストごとに 1 つのアクティビティを使用するアプローチを使用すると、アクティビティ間の遷移もスムーズになり、階層を上に移動するために [戻る] ボタンを使用することを心配する必要がなくなります。

于 2013-05-03T21:15:55.727 に答える