此代码直接来自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