View和ViewGroups是否应该在Activities中声明为实例或局部变量?

时间:2014-02-08 18:50:32

标签: java android view viewgroup

对于决定哪些变量应该是实例变量以及哪些变量应该在将Activity扩展到我的类中的本地声明并不像其他类型的对象那样直观。

对于扩展Activity的类,在哪里声明ViewsViewGroups,假设在onCreate()方法中声明它们并且实例变量有效。哪个是惯例?

3 个答案:

答案 0 :(得分:2)

  

因此,扩展Activity的类与我们处理的日常对象不同,它们很容易区分哪些变量应该是实例变量,哪些变量应该在本地声明。

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

  

假设在onCreate()方法中声明它们并且实例变量起作用。

你为什么要在两个地方宣布它们?

  

这是惯例?

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

请确保在致电setContentView()之后将其初始化,否则它们将为null

答案 1 :(得分:1)

Activity中的

Android代表UI个对象的一部分,让我们说"window"。 Activity包含一些组件 - 使用Views布局。

如果要在activity类的许多方法中使用视图,请将它们声明为实例变量。因为使用findViewById查找它们只会进行一次。然后,只需使用实例变量就可以多次使用它们。

如果您将视图引用到本地,则其范围将缩小。

答案 2 :(得分:0)

如果活动包含Views / View组,建议将它们声明为活动类中的私有成员。

简单地说:)