Java 无法访问片段中的构造函数public CameraPreview(上下文片段、摄影机摄影机、PreviewCallback previewCb、AutoFocusCallback autoFocusCb)

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

我试图调用fragment类中的构造函数。然而,它显示了一个错误

这是构造函数代码:

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;'是遥不可及的。哇,是的,你是对的。我前面有“返回”代码。问题解决了。非常感谢。干杯