3

对于不时创建的片段,我有一个复杂的 ViewGroup。一次只能显示 1 个实例片段。

我想知道是否有可能以某种方式存储膨胀的视图并在再次创建片段时重用它。

显然视图属性必须更改,但至少视图不需要再次膨胀。

我尝试简单地将视图元素存储为静态元素,然后检查它是否存在,如果存在,则使用它。

但是,我相信 View 元素具有一些片段特定的属性,如果您将它与具有不同参考 id 的片段一起使用,它将失败 - 好吧..它失败了。

有没有人试图缓存膨胀的视图并重用它们?

4

1 回答 1

0

在不同的片段中重用视图似乎非常冒险(尽管在同一个片段中重用它们是安全的)。

如果上下文发生变化,例如重新创建您的活动怎么办?我猜您必须希望没有视图调用getContext()并尝试使用活动上下文,因为它会无效并可能导致意外结果。

你可以做的是确保你优化了你的布局(比如避免嵌套权重和RelativeLayouts尽可能)或使用自定义视图来简化你的布局。

于 2013-09-03T17:10:40.330 回答