我正在尝试在 Android 操作系统中同时使用编码 View 和 xml View 。我希望 xml 布局包含基本布局和设置,而我将使用编码 View 来创建更多动态部分。
这是我的设置,我没有收到任何编译错误,但应用程序在运行时崩溃了。 java :
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
public class TopImages extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layoutContainer = (LinearLayout) this.findViewById(R.id.layout_container);
TextView tv = new TextView(this);
layoutContainer.addView(tv);
setContentView(R.layout.main);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/layout_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
难道两者都不能用吗?
最佳答案
在调用 findViewById
之前,您需要调用 setContentView(R.layout.main);
,因为当前 layoutContainer
将是 空
。
public class TopImages extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout layoutContainer = (LinearLayout) this.findViewById(R.id.layout_container);
TextView tv = new TextView(this);
layoutContainer.addView(tv);
}
}
关于java - 在 Android 中同时使用 XML 和编码 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364433/