【问题标题】:Android - how to use the same instance of a control on all activitiesAndroid - 如何在所有活动上使用相同的控件实例
【发布时间】:2012-10-31 05:24:35
【问题描述】:

我有一个自定义用户控件,它包含在所有活动中,其中包含一个进度条控件。当此控件在屏幕中可见时,进度条将更新为当前进度。

我想让这个控件成为“单实例”类型的控件,这样如果进度条的进度在特定屏幕中更新,它也会反映在新屏幕中。

我可以通过将当前进度存储在 SharedPreferencesstatic 变量中来做到这一点,并检查它以在新屏幕中显示进度。

但我想知道是否有更好的方法来设计和布局这样的控件,或者有一种可以包含在多个屏幕中的“单实例”(记住内存泄漏)控件?

【问题讨论】:

    标签: android android-layout design-patterns custom-controls


    【解决方案1】:

    您可以使用Fragment 来实现此目的。

    “Fragment 表示 Activity 中的一种行为或用户界面的一部分。您可以在单个 Activity 中组合多个 Fragment 以构建多窗格 UI 并在多个 Activity 中重用一个 Fragment”

    【讨论】:

    • 这似乎是一个合适的选择.. 我没有想到它,因为我的印象是Fragments 主要用于支持平板电脑布局.. 但似乎我可以重新在多个活动中使用 UI 的一部分。如果我错了,请纠正我
    • 你是对的。片段可以在任何类型的设备上使用,而不仅仅是平板电脑。借助支持库,您可以在版本回溯到 1.6 的 Android 设备上使用 Fragments
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多