何时使用“new”关键字android API

时间:2018-03-07 23:08:07

标签: java android

我是编程新手并试图理解为什么有时会出现没有“new”关键字实例化对象的原因。例如谷歌的android教程中的基本教程应用程序:

"Build an Intent"示例中,使用Intent关键字创建了new

/** Called when the user taps the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.editText);
...
}

但是稍后在"Display the Message"中,如果我理解正确的话,他们会以这种方式制作Intent个对象:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);

    // Get the Intent that started this activity and extract the string
    Intent intent = getIntent();
    ...
}

并使用getIntent()方法。另外,getIntent()方法在哪里定义?这是一个来自Intent类的方法吗?

同样在上一节(https://developer.android.com/training/basics/firstapp/starting-activity.html)中,他们制作了一个新的editText,但我仍然不明白为什么不使用“new”关键字:

EditText editText = (EditText) findViewById(R.id.editText);

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

很高兴知道你想开始学习代码..我已经为你的两个问题添加了解决方案,最好是继续前进,然后一切都将开始看起来合乎逻辑,一步一步......开始是最难的..

Intent intent = getIntent();

这实例化一个Intent对象,该值来自函数getIntent()..在以下链接中,您可以发现它是来自Activity类的方法,并返回启动此活动的intent。

https://developer.android.com/reference/android/app/Activity.html

EditText editText =(EditText)findViewById(R.id.editText);

这是对布局文件中定义的字段" editText"的引用。 你在布局中引用了资源。 更好更明确的是使用另一个命名..

EditText"你想如何命名字段" =(EditText)findViewById(R.id。"布局中字段的名称")

如下所示,尝试在线学习一些基础课程,观看一些教程并挂在那里!

祝你好运!