带有Textview的Android setContentView

时间:2012-11-21 01:50:32

标签: java android

我对Android应用程序编程完全陌生,我正在阅读Google的教程:http://developer.android.com/training/basics/firstapp/starting-activity.html

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

2 个答案:

答案 0 :(得分:1)

您可以在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"/>

答案 1 :(得分:0)

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

如果您想要仅为TextView元素创建一个单独的视图,那么在相关文章中会说,那么如果您执行此操作,您可能需要另一个XML文件来定义该视图不想以编程方式指定它。

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

它非常灵活,简而言之,回答你的问题不,你不需要来生成一个新的XML视图文件,你可以简单地将TextView添加到现有的视图文件中或者在运行时指定它。