最好有多个适配器或多个活动?

时间:2013-05-03 20:51:39

标签: android performance android-activity listadapter android-loader

我有一个分层数据结构。举个例子,让我们考虑一下我的数据电视节目。每个节目都有多个季节,每个季节都有几集。我想要一个显示所有节目的列表。点击一个节目后,该列表将显示该节目的所有季节,当点击一个季节时,该列表将显示该季节的所有剧集。

好的就是这样,目前我有一个Activity实现了LoaderLoaderCallbacks。这个加载器返回一个完整的数据层次结构(AKA全部显示所有季节与所有剧集)。然后我使用不同的ArrayAdapter,具体取决于我所处的数据级别。

这是处理此类数据的“正确”方法吗?我是否应该为每个级别的数据都有一个加载器,活动和适配器?

很抱歉,如果这令人困惑,请提前感谢您的见解。

1 个答案:

答案 0 :(得分:0)

这里确实没有对错。我会为每组数据选择一个活动和适配器。这将使您的活动不那么复杂,并使它们彼此分离。在你的情况下,我会:

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

您的数据模型(包括节目,季节和剧集)应该可供活动访问,并用于使用正确的数据初始化每个活动和适配器。

一旦选择了节目,我会通过意图包将节目的ID传递给下一个活动,在SeasonActivity中选择节目ID,从数据模型中获取相关季节并显示它们。从季节到插曲的过渡也是如此。

使用每个列表中一个活动的方法,您还可以在活动之间获得良好的转换,而不必担心处理后退按钮以在层次结构中向上导航。