繁体   English   中英

我可以将 View 对象存储在实例字段中吗?

[英]May I store View objects in instance fields?

我有一个活动 class。 onCreate中找到我需要的所有视图应该非常好,然后只需引用这些字段,而不调用findViewById 但是这样做可以吗?

不能在运行时为视图分配不同的对象吗? 例如, findViewById(res1) == findViewById(res1)在任何时候都是真的吗?

您可以在 Activity 中为视图创建实例变量。

findViewById(res1) == findViewById(res1)

只要布局没有再次膨胀或对内容视图进行其他更改(替换视图),它就为真。

但是不要在对象中保留对视图的引用,这些对象的寿命比持有视图的活动长。 就像单身一样! (请参阅避免 Memory 泄漏

是的,你可以这样做。 这就是我在工作中 90% 的时间看到它的方式。 前任。

私人 ImageView mSomeImage;

公共 class 激活扩展活动{

public void onCreate(Bundle saveinstancestate){
    Inialize your views here.
}

}

仅在需要时才这样做,并在成员变量前加上 m。

这有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM