Java 无法访问片段中的构造函数public CameraPreview(上下文片段、摄影机摄影机、PreviewCallback previewCb、AutoFocusCallback autoFocusCb)
我试图调用fragment类中的构造函数。然而,它显示了一个错误 这是构造函数代码:Java 无法访问片段中的构造函数public CameraPreview(上下文片段、摄影机摄影机、PreviewCallback previewCb、AutoFocusCallback autoFocusCb),java,android,android-fragments,Java,Android,Android Fragments,我试图调用fragment类中的构造函数。然而,它显示了一个错误 这是构造函数代码: public CameraPreview(Context fragment, Camera camera, PreviewCallback previewCb, AutoFocusCallback autoFocusCb) { super(fragment); mCamera = camera; prev
public CameraPreview(Context fragment, Camera camera,
PreviewCallback previewCb,
AutoFocusCallback autoFocusCb) {
super(fragment);
mCamera = camera;
previewCallback = previewCb;
autoFocusCallback = autoFocusCb;
// 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);
}
然后我尝试访问另一个片段类中的:
mPreview=new-CameraPreview(this、mCamera、previewCb、autoFocusCB);
FrameLayout preview=(FrameLayout)getView().findViewById(R.id.cameraPreview);
preview.addView(mPreview)代码>
我注意到问题是“这个”。我该怎么解决呢?谢谢 如果此调用在片段中,则应为:
mPreview = new CameraPreview(this.getActivity(), mCamera, previewCb, autoFocusCB);
this.getActivity()
将获取您的上下文,Fragment
不扩展上下文类,因此这实际上是错误的命名:Context Fragment
我尝试了,但是如果我使用这个.getActivity(),eclipse将提示我前面的代码行无法访问。我知道Fragment并没有扩展上下文,但它只是一个变量名,只是为了澄清问题:pIf Eclipse给您提供了一些代码无法访问的错误,这意味着您的代码将始终调用return;在执行某些代码之前。示例:void fun(){return;int n=0;}
,代码:'int n=0;'是遥不可及的。哇,是的,你是对的。我前面有“返回”代码。问题解决了。非常感谢。干杯