java - 无法访问 fragment 中的构造函数 public CameraPreview(Contextfragment,Cameracamera,PreviewCallbackpreviewCb,AutoFocusCallbackautoFocusCb)

标签 java android android-fragments

我尝试调用 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);
}

然后我尝试访问位于另一个 fragment 类中:

mPreview = new CameraPreview(this, mCamera, PreviewCb, autoFocusCB); FrameLayout预览 = (FrameLayout) getView().findViewById(R.id.cameraPreview); Preview.addView(mPreview);

我注意到问题是“这个”。我应该如何解决呢?谢谢。

最佳答案

如果这个调用是在 fragment 中,那么它应该是:

mPreview = new CameraPreview(this.getActivity(), mCamera, previewCb, autoFocusCB);

this.getActivity() 将为您获取 Context,Fragment 不会扩展 Context 类,因此这实际上是错误的命名:Context Fragment >.

关于java - 无法访问 fragment 中的构造函数 public CameraPreview(Contextfragment,Cameracamera,PreviewCallbackpreviewCb,AutoFocusCallbackautoFocusCb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509944/

相关文章:

java - 如何让 Flux 的多个订阅者在不同的执行上下文/线程上运行

android - 将适配器分配给 Fragment 中的 GridView 时的空指针

java - 如何使用 Regex 仅删除单词之间的空格而不删除数字或特殊字符之间的空格?

java - 如何使用 ddmlib 获取 logcat 数据?

java - 如何获取树项的所有父级?

android - 来自 xml 的 ListFragment 布局

android - Eclipse : Android Device Chooser - Unknown Android 2. 3.4 设备

android - 具有不同边距/填充的移动和桌面中的相同 CSS

android - Fragment 是 Activity 吗? (安卓)

android - 如何杀死 fragment ?