在android中使用setContentView(R.layout.name.xml)
很重要吗?
在以下代码中,我想在relativeLayout Object
中绘制一条线而不使用setContentView(R.layout.name.xml)
。它可以成功编译。但它会停止执行时间。
Draw.java
class Draw extends View {
Paint paint;
public Draw(Context context) {
super(context);
paint = new Paint();
}
@Override
protected void onDraw(Canvas canvas) {
paint.setColor(Color.RED);
canvas.drawLine(10,10,100,100,paint);
super.onDraw(canvas);
}}
MainActivity.java
class MainActivity extends Activity {
Draw draw;
@Override
public void onCreate(Bundle s){
super.onCreate(s);
RelativeLayout relativeLayout = new RelativeLayout(this);
draw = new Draw(this);
relativeLayout.addView(draw,200,200);
}
}
答案 0 :(得分:0)
setContentView()。
如果没有setContentView(),您的活动将无法充气或分配布局。
因此,您的应用无法启动,因为启动活动没有要显示的布局或UI。
因此,总是包含一个setContentView(),将布局作为参数传递给活动的onCreate()方法。
希望有所帮助。
答案 1 :(得分:0)
setContentView
所采用的方法不仅仅是设置布局资源,还有更重要的方法。如果它是一项新活动,它将生成窗口装饰,将主题应用于您的活动等等。所以你看,你不能只是忽略它并用你的代码替换它。
答案 2 :(得分:-1)
尝试在onCreate方法
的末尾添加此代码setContentView(relativeLayout);