3

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

主.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>

丽塔.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);
  }
}

面板.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);
  }          
} 
4

2 回答 2

1

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

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

2) 添加构造函数

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

你可能想试试

于 2010-10-04T22:39:25.957 回答
0

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

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

于 2010-10-02T21:31:32.300 回答