编译错误"不兼容的类型"在ViewGroup中

时间:2015-05-01 15:31:14

标签: android

此代码直接来自Android设备中正确使用相机的教程。看起来CameraPreview没有正确的术语添加到视图中。

private Camera mCamera;
private CameraPreview mPreview;

mPreview = new CameraPreview(this, mCamera);
    FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    preview.addView(mPreview);

搜索ViewGroup要求以及CameraPreview实现的SurfaceHolder.Callback,这让我感到困惑。我想我不能理解这一点。

在以下位置检查Camera Preview的声明:

private CameraPreview mPreview;

将其(在单独的活动中)发送至:

public class CameraPreview extends Activity implements SurfaceHolder.Callback{

然而,为

做同样的事情
mPreview = new CameraPreview(this, mCamera);

将其发送到此处:

public CameraPreview(Context context, Camera camera){
    mCamera = camera;

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);
    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

错误讯息:

Error:(29, 25) error: incompatible types: CameraPreview cannot be converted to View

0 个答案:

没有答案