Android膨胀xml布局会生成RuntimeException

时间:2010-10-02 18:22:00

标签: android xml inflate

我是Android新手,我试图在xml中扩充布局,但是我得到了一个RuntimeException。除了我的活动类和扩展SurfaceView的类之外,我几乎已经删除了所有内容。 谁能告诉我我做错了什么?

main.xml中:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    
android:layout_width="match_parent"    
android:layout_height="match_parent">    
<com.hj.Panel    
android:id="@+id/SurfaceView01"      
android:layout_width="match_parent"      
android:layout_height="match_parent"/>    
</FrameLayout>

Rita.java:

package com.hj;

import android.app.Activity;
import android.os.Bundle;

public class Rita extends Activity {
/** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
}

Panel.java:

package com.hj;

import android.content.Context; 
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.SurfaceView;

class Panel extends SurfaceView {    
  private Paint mPaint;

  public Panel(Context context) {
    super(context); 
  }  
  @Override
  public void onDraw(Canvas canvas) {          
    mPaint = new Paint();  
    canvas.drawRect(0, 0, 322, 644, mPaint);
  }          
} 

2 个答案:

答案 0 :(得分:1)

为了让您的代码运行,我必须执行以下操作:

1)将“match_parent”更改为“fill_parent”

2)添加构造函数

  public Panel(Context context, AttributeSet atts) {
    super(context, atts); 
  } 

您可能想尝试

答案 1 :(得分:0)

报告异常时,应始终发布堆栈跟踪。 (在命令行上运行adb logcat,或在eclipse中查看logcat窗口。)

没有它,我最好的猜测是它应该是fill_parent,而不是match_parent。