我是Java和Android开发的新手,所以我确信这个问题与我对Java实际工作原理的知识差距有关,所以我希望有人可以帮助我填补这个空白。我已经用Python,Javascript和其他OOP语言编码了几年,但我发现Java/Android Dev打破了我所了解和理解的一些惯例。
下面是一个非常基本的 MainActivity 类定义,我相信它是标准 Android 教程的一部分。
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
textView = (TextView) findViewById(R.id.textView);
}
总的来说,这段代码对我来说非常有意义。定义了一个名为 MainActivity 的类,该类继承 AppCompatActivity 类并重写 onCreate 方法。保存实例状态,初始化布局,然后初始化文本视图。
我困惑的领域来自文本视图初始化。
textView = (TextView) findViewById(R.id.textView);
(TextView)和findViewById方法之间的空格让我感到困惑。为什么允许这样做?难道不应该更像,
textView = (TextView).findViewById(R.id.textView);
同样,我对Java完全陌生,仍在学习语法和语言结构,但这对我来说似乎有点奇怪。如何这样调用方法?再次提前感谢。我一直在为谷歌搜索措辞这个问题时遇到一点麻烦。
以编程方式定义这个句子是标准的 android java 编码
textView = (TextView) findViewById(R.id.textView);
要么你可以去
textView = (TextView) this.findViewById(R.id.textView);
欲了解更多信息,请参阅链接
(TextView) 仅强制转换由findViewbyId
找到的对象。R.layout.test
应包含 ID 为textView
的TextView
。