SORU
17 EYLÜL 2010, Cuma


Android: Hata sınıfı şişirme

Android geliştirme yeniyim ve düzeltmek için başaramadım bir sorun yaşıyorum. Çoğunlukla örnekler SDK sağlanan kod kullanıyorum neler olduğundan emin değilim. Sadece SurfaceView uzanan özel bir görünüm GhostSurfaceCameraView oluşturmak için çalışıyorum. İşte benim sınıf tanım dosyası GhostSurfaceCameraView.java:

public class GhostSurfaceCameraView extends SurfaceView implements
 SurfaceHolder.Callback {
 SurfaceHolder mHolder;
 Camera mCamera;

 GhostSurfaceCameraView(Context context) {
  super(context);

  // Install a SurfaceHolder.Callback so we get notified when the
  // underlying surface is created and destroyed.
  mHolder = getHolder();
  mHolder.addCallback(this);
  mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 }

 public void surfaceCreated(SurfaceHolder holder) {
  // The Surface has been created, acquire the camera and tell it where
  // to draw.
  mCamera = Camera.open();
  try {
   mCamera.setPreviewDisplay(holder);
  } catch (IOException exception) {
   mCamera.release();
   mCamera = null;
   // TODO: add more exception handling logic here
  }
 }

 public void surfaceDestroyed(SurfaceHolder holder) {
  // Surface will be destroyed when we return, so stop the preview.
  // Because the CameraDevice object is not a shared resource, it's very
  // important to release it when the activity is paused.
  mCamera.stopPreview();
  mCamera.release();
  mCamera = null;
 }

 public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
  // Now that the size is known, set up the camera parameters and begin
  // the preview.
  Camera.Parameters parameters = mCamera.getParameters();
  parameters.setPreviewSize(w, h);
  parameters.set("orientation", "portrait");
  // parameters.setRotation(90); // API 5 
  mCamera.setParameters(parameters);
  mCamera.startPreview();
 }}

Ve bu benim ghostviewscreen.xml:

<com.alpenglow.androcap.GhostSurfaceCameraView android:id="@ id/ghostview_cameraview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"/>

Şimdi faaliyeti yaptım:

protected void onCreate(Bundle savedInstanceState) {

  try
  {
   super.onCreate(savedInstanceState);
         setContentView(R.layout.ghostviewscreen);
  }

SetContentView çağrılan, bir özel durum:

İkili XML 09-17 22:47:01.958 dosya: HATA/HATA(337): HATA KODU: android.görünüm.İnflateException: İkili XML dosyası satır #14: Hata şişirme sınıf com.alpenglow.androcap.GhostSurfaceCameraView

Herkes bu hatayı alıyorum neden bana söyleyebilir misiniz? Teşekkürler

CEVAP
18 EYLÜL 2010, CUMARTESİ


Bu neden çalışmadığını anladım. Tek bir parametre 'kapsamında iki parametre' diye. AttributeSet 'Kapsamında, bir kurucu sağlanan gerekirdi' diye bir kurucu sağlıyordum Ben de yapıcı(s) kamu erişim sağlamak için gerekli. İşte benim düzeltme:

public class GhostSurfaceCameraView extends SurfaceView implements SurfaceHolder.Callback {
        SurfaceHolder mHolder;
        Camera mCamera;

        public GhostSurfaceCameraView(Context context)
        {
            super(context);
            init();
        }
        public GhostSurfaceCameraView(Context context, AttributeSet attrs)
        {
            super(context, attrs);
            init();
        }
        public GhostSurfaceCameraView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            init();
        }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • DudeFromUkraine

    DudeFromUkra

    7 Ocak 2008
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009