对于决定哪些变量应该是实例变量以及哪些变量应该在将Activity
扩展到我的类中的本地声明并不像其他类型的对象那样直观。
对于扩展Activity的类,在哪里声明Views
和ViewGroups
,假设在onCreate()方法中声明它们并且实例变量有效。哪个是惯例?
答案 0 :(得分:2)
因此,扩展Activity的类与我们处理的日常对象不同,它们很容易区分哪些变量应该是实例变量,哪些变量应该在本地声明。
当然可以。在需要的地方声明它们。如果您只需要通过某些方法访问它们来设置文本或其他内容,那么请在那里声明它们。如果您需要多种方法,则将它们声明为成员变量。
假设在onCreate()方法中声明它们并且实例变量起作用。
你为什么要在两个地方宣布它们?
这是惯例?
请参阅本答案的第一部分。通常我将它们声明为成员变量并在onCreate()
中初始化它们,因为我似乎需要它们在多个地方,我喜欢将它们放在一个地方。
请确保在致电setContentView()
之后将其初始化,否则它们将为null
。
答案 1 :(得分:1)
Activity
中的 Android
代表UI
个对象的一部分,让我们说"window"
。
Activity包含一些组件 - 使用Views
布局。
如果要在activity
类的许多方法中使用视图,请将它们声明为实例变量。因为使用findViewById
查找它们只会进行一次。然后,只需使用实例变量就可以多次使用它们。
如果您将视图引用到本地,则其范围将缩小。
答案 2 :(得分:0)
如果活动包含Views / View组,建议将它们声明为活动类中的私有成员。
简单地说:)