Android应用程序的哪些部分应该是片段?

时间:2012-05-02 14:42:42

标签: android android-fragments

我将开发一个具有以下结构的应用程序:

  • 搜索:允许用户搜索文章并在列表中显示搜索结果
  • 文章:显示文章
  • UserList:显示用户选择添加到列表中的文章列表
  • UserListItem:表示上述列表中文章的项目,允许用户通过某些EditText字段添加自定义信息。

搜索文章 UserList 似乎可以将它们实现为片段。但是 UserListItem 呢?屏幕上当然会同时有多个 UserListItems ,它仍然可以作为片段实现吗?如果没有,应该如何实施?

我在抓住整个片段概念时遇到了一些麻烦。很明显如何在标准场景中使用它,即搜索 -pane和 Article -pane。但是,如果它应该/可以在同一时间显示同一片段的多个实例的场景中使用它,我有点不清楚。

我还没有写任何代码,因为我希望在开始之前让整体结构清晰,所以我不必回去改变一切。

1 个答案:

答案 0 :(得分:0)

  1. 如果您是初学者,这可能会有点多,但如果您想在应用中添加搜索功能,请考虑creating a search interface

  2. 来自Fragment s的文档:

      

    您可以将片段视为活动的模块化部分   有自己的生命周期,接收自己的输入事件,以及你   可以在活动运行时添加或删除(有点像“子”   活动“你可以在不同的活动中重复使用。”

    话虽如此,在屏幕布局中合并行为与在Fragment中包含该行为之间存在巨大差异。在您的情况下,将每个列表项包装在Fragment中真的没有意义,因为为Fragment中的每个项目实例化新的ListView会非常低效。将每个列表项表示为Fragment会为每一行提供自己的生命周期,这显然不是您想要的。您可能想要做的是用XML表示每个列表项,并让Fragment(或Activity)保持您的ListView根据需要管理这些列表项。