java - 按照惯例, View 和 View 组是否应该在 Activity 中声明为实例变量或局部变量?

标签 java android view viewgroup

对于其他类型的对象来说,决定哪些变量应该是实例变量以及哪些变量应该在向我扩展 Activity 的类中本地声明似乎并不那么直观。

对于扩展 Activity 的类,您在哪里声明 ViewsViewGroups(假设在 onCreate() 方法中将它们声明为实例变量都有效)。哪个是约定?

最佳答案

So classes that extend Activity aren't like the everyday objects we deal with where it's pretty easy to distinguish which variables should be instance variables and which should be locally declared.

当然是。在需要的地方声明它们。如果您只需要在某些方法中访问它们来设置文本或其他内容,那么就在那里声明它们。如果您在多个方法中需要它们,请将它们声明为成员变量。

assuming declaring them both in the onCreate() method and as instance variables works.

为什么要在两个地方声明它们?

Which is the convention?

请参阅此答案的第一部分。通常,我将它们声明为成员变量并在 onCreate() 中初始化它们,因为我似乎在多个地方需要它们,并且我喜欢将它们放在一个地方。

只需确保在调用 setContentView() 之后初始化它们,否则它们将为 null

关于java - 按照惯例, View 和 View 组是否应该在 Activity 中声明为实例变量或局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650334/

相关文章:

java - 无法解析方法 'displayMessage(java.lang.String)'

java - swig从struct中的变量获取返回类型作为java中的字符串数组

android - 选项卡小部件分隔线的顶部和底部样式

javascript - Node js couchbase 查询调用与 couchbase View 匹配

mysql - 如何以编程方式删除 MySQL View 的列?

mysql - Django:在模型和 View 中执行 datetime.now() 时的差异为 4-6 秒

Java 使用 Apache Spark 指定架构从 json 文件读取

java - 在 Asynctask 中显示 Progresscircle

Androidannotations + Android Studio(几乎可以工作)

android - ActiveAndroid 清理数据库