Java / Android MainActivity语法令人困惑 - 需要一些澄清



我是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 为textViewTextView

相关内容

  • 没有找到相关文章

最新更新