setContentView() 与 XML 布局 vs 视图

use*_*328 1 java android

在 Android 中,我习惯于使用 XML 文件设置布局

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

但是您也可以使用 Java 中的视图设置内容

    // Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    // Set the text view as the activity layout
    setContentView(textView);
Run Code Online (Sandbox Code Playgroud)

这具有无法再使用布局文件的副作用。

无论如何,我可以以编程方式设置文本值并仍然使用 layout.xml 文件吗?

Ren*_*ira 5

当然。

在您的layout.xml文件中,您必须定义一个idmain layout (android:id="@+id/mainLayout" )然后您可以执行以下操作:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ViewGroup mainView = (ViewGroup) findViewById(R.id.mainLayout);

    // Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    mainView.addView(textView);
}
Run Code Online (Sandbox Code Playgroud)