【发布时间】:2012-06-25 20:24:22
【问题描述】:
就标签/片段而言,它们是否可以保留信息?例如,如果我有一个选项卡,在第一次选择时进行了 http 调用,然后显示了信息,那么我是否可以让它在选择时再次显示信息而不进行另一个 http 调用?
【问题讨论】:
标签: android android-layout android-fragments android-tabhost
就标签/片段而言,它们是否可以保留信息?例如,如果我有一个选项卡,在第一次选择时进行了 http 调用,然后显示了信息,那么我是否可以让它在选择时再次显示信息而不进行另一个 http 调用?
【问题讨论】:
标签: android android-layout android-fragments android-tabhost
简短的回答,是的。
在 Android 中有两种使用选项卡的方法。您可以使用 TabActivity 或 TabHost。由于您提到了片段,因此您很可能会想到 TabHost。不过,为了以防万一,我将包含两者的描述:
由于您的所有片段都包含在单个活动中,因此在选项卡之间导航时,不会为您要离开的片段触发任何生命周期事件,因此无论您是否希望数据都是持久的。
这是有点棘手的地方。单击新选项卡实际上会停止旧活动,从而清除大部分数据。保留任何特定数据的最佳方式是将其放在 Singleton 或 Application object 中。这是一个扩展 Application 的类,就像您的 Activity 类扩展 Activity 一样。然后所有其他活动都可以访问这个类,您可以为您想要的任何数据提供标准的 getter/setter。
如果您要保存大量数据,您可能需要考虑创建一个SQLite 数据库,因为它会节省内存。
【讨论】: