【问题标题】:includeed layouts - update in multiple activities包含的布局 - 在多个活动中更新
【发布时间】:2011-05-20 12:45:45
【问题描述】:

我有一个包含多个活动和多个布局的应用程序。但是,一个布局包含在多个活动中。我还有一个更新此布局的线程。但是,当我切换活动时,它不起作用。由于包含布局,元素具有相同的 ID,它不应该正常工作吗?或者我真的需要为布局中的每个元素获取一个对象并将其提供给我的线程,以使其更新新活动中的元素?

【问题讨论】:

  • 获取布局 ID 并使其成为具有公共访问说明符的实例变量。这是一种不好的编程习惯,但可能有效...发布错误日志..

标签: android multithreading layout android-activity


【解决方案1】:

您应该为每个 Activity/View 运行更新代码,虽然包含的 XML 是相同的,但每个都是不同的实例。

我的建议是重新启动验证每个活动是否有任何修改,一个简单的方法是每个活动扩展一个具有此代码的 BaseActivity。

【讨论】:

    【解决方案2】:

    我在我的应用中包含了一个广告布局,但在每个使用它的 Activity 上,都需要重新加载广告。

    如果我在返回上一个活动时从使用相同包含布局的活动中调用活动,它仍然存在。

    我猜这就是你所看到的......

    【讨论】:

      【解决方案3】:

      因此,您还可以将数据保存在 sharedPreferences 中(如果是少量数据和原始对象或可解析对象)。

      您还可以扩展 Application 类并在其中存储数据并更新 onResume() 方法中的每个活动。我相信这是处理这个问题的最好方法。这很简单。

      向 go​​ogle 询问有关扩展应用程序类的问题,他会提供大量关于如何扩展的结果。它是一种在活动之间传递数据和/或保持对您将在整个应用程序中使用的单个对象的引用的简单方法。当您不再需要它时,请小心清除它,因为它会一直存在,直到应用程序完成()(应用程序扩展在整个应用程序生命周期内都存在)。

      【讨论】:

        猜你喜欢
        • 2016-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多