【问题标题】:How can I allow multiple activities to share the same inflated "included" view?如何允许多个活动共享相同的膨胀“包含”视图?
【发布时间】:2011-04-12 15:57:47
【问题描述】:

我在这里看到了这个问题,这让我想知道我所问的是否真的不可能:

How to share a view across various activities

基本上,我有一个共同的页脚视图,我在所有视图中都膨胀(包括)。但是,它使用相同的重复代码来执行此操作。我的想法是创建一个父活动类来执行此操作,但是让一个活动呈现另一个活动的视图似乎不正确。那么我应该只创建某种实用程序类,还是有更好的方法?

【问题讨论】:

    标签: android view android-activity


    【解决方案1】:

    您可以将其他布局 XML 文件直接包含在另一个布局文件中。因此,每当您将内容设置到布局文件时,您的页脚就会随之而来。

    如果您的页脚需要代码来驱动它,只需为它创建一个自定义类以及布局文件。然后也许在实例化期间你可以驱动需要执行的代码。

    This 是一个关于如何做到这一点的博客。

    【讨论】:

    • 这不是我最终这样做的方式,因为看起来有些人对包含中的布局有问题。但是,我接受您的回答,因为我认为这是最常见的方法。相反,我创建了一个实用程序类来完成这项工作,每个 Activity 都会调用该实用程序。
    【解决方案2】:

    include 在重用视图组件时非常有用。

    但是请记住,如果在使用包含标签时出现任何问题,请使用任意布局包装包含的视图。

    【讨论】:

      【解决方案3】:

      如果我理解您的问题,让多个活动使用同一个 View 实例的另一种方法是创建您自己的 Application 类(这非常容易)。

      MyApplication 扩展了应用程序 ...

      @覆盖 public void onCreate()、onConfigurationChanged()、onLowMemory()、onTerminate()、getIstance()。

      由于只有一个静态可用的“应用程序”实例,因此它是存储和共享需要传递的各种对象的好地方。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多