Android/Java试图找出将变量声明放在何处
我是Android开发的新手,到目前为止,我一直在想如何让教程代码在我正在构建的应用程序中工作。我正在努力理解在哪里声明变量,以及为什么复制和粘贴一些最终会出错的教程 例如,我正在尝试学习如何使用ViewFlipper。从这一点来看,Eclipse告诉我,当我在OnClick中使用vf时,它不是一个变量。所以当我移动这条线时:Android/Java试图找出将变量声明放在何处,java,android,variables,Java,Android,Variables,我是Android开发的新手,到目前为止,我一直在想如何让教程代码在我正在构建的应用程序中工作。我正在努力理解在哪里声明变量,以及为什么复制和粘贴一些最终会出错的教程 例如,我正在尝试学习如何使用ViewFlipper。从这一点来看,Eclipse告诉我,当我在OnClick中使用vf时,它不是一个变量。所以当我移动这条线时: ViewFlipper vf = (ViewFlipper)findViewById(R.id.viewFlipper1); 在我的OnCreate方法之上,它就可以工
ViewFlipper vf = (ViewFlipper)findViewById(R.id.viewFlipper1);
在我的OnCreate方法之上,它就可以工作了。为什么我看到这么多在OnCreate中声明变量的教程,为什么它对我不起作用?在哪里申报是合适的?我了解封装和继承的基础知识,所以OnCreate是否与任何其他方法一样,并且其中声明的任何变量都与其他方法隔离?关于我的按钮,我应该在我的类中声明,但在OnCreate之外声明吗?OnCreate与任何其他方法一样,所有关于封装和变量范围的java规则都适用于它。在onCreate方法之外,将ViewFlipper变量声明为类成员。但是,正如教程所说,在onCreate方法中实例化它
android中的所有功能都与java中的一样。这里遵循java的所有编程规则。onCreate与任何其他方法一样,所有关于封装和变量范围的java规则都适用于它。在onCreate方法之外,将ViewFlipper变量声明为类成员。但是,正如教程所说,在onCreate方法中实例化它
android中的所有功能都与java中的一样。这里遵循java的所有编程规则。这是因为在onCreate方法之外,变量是类的全局变量。Aka,类中的任何方法都可以访问这些变量。在onCreate中声明变量时,这些变量只能在onCreate方法的括号内访问。您应该在onCreate方法之外声明变量,并在onCreate方法内初始化它们:
ViewFlipper vf;
onCreate(....)
vf = (ViewFlipper) findViewById(R.id.viewFlipper1);
然后设置onClickListener,这是因为在onCreate方法之外,变量对于类是全局的。Aka,类中的任何方法都可以访问这些变量。在onCreate中声明变量时,这些变量只能在onCreate方法的括号内访问。您应该在onCreate方法之外声明变量,并在onCreate方法内初始化它们:
ViewFlipper vf;
onCreate(....)
vf = (ViewFlipper) findViewById(R.id.viewFlipper1);
然后设置你的侦听器
为什么我看到这么多教程中都有在OnCreate
中声明的变量,为什么它对我不起作用?
在方法内部或外部声明变量实际上归结为您希望与变量关联的类型。在方法内部,在打算使用变量之前,需要注意声明变量 哪里是申报的合适地点? 在何处声明变量的适当性完全取决于您希望在何处使用它。如果只打算在方法中使用变量,则在类级别声明变量是不明智的。在方法中声明变量,当类中的许多其他方法想要访问它时,您最终将变量传递给每个方法,这也是不明智的。所以现在,你可以考虑:
onCreate
与任何其他方法一样,在其中声明的任何变量都与其他方法隔离?
没错
关于我的按钮,我应该在类内声明那些按钮,但在onCreate之外声明这些按钮吗?
Android中的UI组件通常需要多种方法才能访问<代码>文本视图,按钮
,等等-通常有需要在不同时间、不同方法更改的状态-因此最好在类级别声明它们
您应该更喜欢在类级别声明UI变量的另一个重要原因是,您减少了让Android框架为每个方法调用创建UI变量的开销。只要您的活动
实例处于活动状态,框架就会保留UI组件/变量
为什么我看到这么多教程中都有在OnCreate
中声明的变量,为什么它对我不起作用?
在方法内部或外部声明变量实际上归结为您希望与变量关联的类型。在方法内部,在打算使用变量之前,需要注意声明变量 哪里是申报的合适地点? 在何处声明变量的适当性完全取决于您希望在何处使用它。如果只打算在方法中使用变量,则在类级别声明变量是不明智的。在方法中声明变量,当类中的许多其他方法想要访问它时,您最终将变量传递给每个方法,这也是不明智的。所以