Java Android setContentView和Textview

Java Android setContentView和Textview,java,android,Java,Android,我对Android应用程序编程一无所知,我正在阅读谷歌的教程: 在此页面上,在“显示消息”部分下,他们创建TextView对象,并使用setContentView和TextView对象作为参数来显示一些文本。我想知道,如果我理解正确的话,你能用XML代替在代码中创建TextView对象吗?如果用XML定义它,除了main_activity.XML之外,还需要创建一个新的XML文件吗?谢谢。您可以任意创建视图文件(XML文件),并指定视图的主要类型及其包含的子视图。您可以在main_activit

我对Android应用程序编程一无所知,我正在阅读谷歌的教程:


在此页面上,在“显示消息”部分下,他们创建
TextView
对象,并使用
setContentView
TextView
对象作为参数来显示一些文本。我想知道,如果我理解正确的话,你能用XML代替在代码中创建
TextView
对象吗?如果用XML定义它,除了main_activity.XML之外,还需要创建一个新的XML文件吗?谢谢。

您可以任意创建视图文件(XML文件),并指定视图的主要类型及其包含的子视图。您可以在main_activity.xml视图中创建
TextView
元素,并通过相对Id找到它

如果您只想为
TextView
元素创建一个单独的视图,那么如果您不想以编程方式指定该视图,则可能需要另一个XML文件来定义该视图

在标准应用程序中,您可能会有一个预定义的视图(XML文件),将其设置为内容视图,并从中引用元素(以及可能添加的新元素)


它非常灵活,简而言之,回答您的问题不,您不需要生成新的XML视图文件,您只需向现有视图文件添加
TextView
,或在运行时指定它。

您可以在XML中声明所有布局和视图。对于给定的示例,代码如下所示

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set your parent view
    setContentView(R.layout.main_layout);

    // Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Get the reference to the TextView and update it's content
    TextView textView = (TextView)findViewById(R.id.my_text_view);
    textView.setText(message);
}
您的main_layout.xml如下所示

<?xml version="1.0" encoding="utf-8"?>
<TextView  xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textSize="40sp"
           android:id="@+id/my_text_view"/>