Android раздувает xml макет генерирует RuntimeException - PullRequest
3 голосов
/ 02 октября 2010

Я новичок в 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 ]

1 голос
/ 05 октября 2010

Чтобы запустить ваш код, мне нужно было сделать следующее:

1) изменить "match_parent" на "fill_parent"

2) добавить конструктор

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

Вы можете попробовать это

0 голосов
/ 03 октября 2010

Вы всегда должны публиковать трассировку стека, когда сообщаете об исключении.(Запустите adb logcat в командной строке или просмотрите окно logcat в eclipse).

Без этого, я думаю, это должен быть fill_parent, а не match_parent.

...