【发布时间】:2015-04-30 02:30:07
【问题描述】:
尝试将来自手机摄像头的提要添加到视图中,以便我可以显示它。我一直在学习教程并解决了除此之外的所有其他问题。这是有问题的代码:
private Camera mCamera;
private CameraPreview mPreview;
private SurfaceHolder mHolder;
public CameraPreview(CameraPreview context, Camera camera) {
super(context);
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);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
mCamera = getCameraInstance();
mPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mPreview);
}
我收到错误消息:
Error:(63, 25) error: incompatible types: CameraPreview cannot be converted to View
非常感谢您对此的任何帮助,如果人们想看到它,我也会发布更多代码。它本质上只是本教程:http://developer.android.com/guide/topics/media/camera.html
【问题讨论】:
-
你扩展了surfaceView吗?
-
根据编辑,看起来您已经一起删除了 onCreate 方法(问题所在)。对吗?
-
是的,这解决了一些问题。快速的附加问题,“super(context)”指向 main.java 中的一个活动,因为我在那里为其放置了一个构造函数,可以吗?如果可以,该构造函数中应该是什么?
标签: android view android-framelayout android-sdk-2.3