我在.java文件中创建了一个LinearLayout
对象,并尝试使用以下代码将其与我的.xml layout
连接,但它没有响应。你能向我解释一下为什么以及这段代码中有哪些错误吗?我将.xml文件的LinearLayout
id
命名为"root"。
public class MainActivity extends Activity {
LinearLayout l;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView HelloWorldImageView = new ImageView(this);
TextView t=new TextView(this);
t.setText("hello");
HelloWorldImageView.setImageResource(R.drawable.ic_launcher);
l=new LinearLayout(this);
l=(LinearLayout)findViewById(R.id.root);
l.addView(t);
l.addView(HelloWorldImageView);
setContentView(l);
}
}
这样做-
setContentView(R.layout.yourxml);
ImageView HelloWorldImageView = new ImageView(this);
TextView t=new TextView(this);
t.setText("hello");
HelloWorldImageView.setImageResource(R.drawable.ic_launcher);
l=(LinearLayout)findViewById(R.id.root);
l.addView(t);
l.addView(HelloWorldImageView);
您必须在 setContentView() 中设置该 xml 文件,该文件包含根线性布局。
首先,你不需要new
LinearLayout
行。 findViewById()
将返回实例化版本。 其他新View
相同。
其次 - 您想在拨打任何电话之前进行setContentView()
findViewById()
. 通过这种方式,您可以设置layout
(通过传递layout
id
),Android将实例化layout
中的所有View
,并且您可以通过findViewById()
获取对它们的引用。