2

尝试创建一个 Android 视图以便稍后在ReactNative中使用。

这是我按照官方教程编写的代码,但我仍然在编译时遇到了一些麻烦。

这是我收到的错误消息

Error:(15, 53) error: constructor ReactImageView in class ReactImageView cannot be applied to given types;
required: Context,AbstractDraweeControllerBuilder,GlobalImageLoadListener,Object
found: no arguments
reason: actual and formal argument lists differ in length

这里是代码

package com.androidbridge;

import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.views.image.ReactImageView;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.drawee.backends.pipeline.Fresco;
import javax.annotation.Nullable;

public class ReactImageManager extends SimpleViewManager<ReactImageView> {

    public static final String REACT_CLASS = "RCTImageView";

    private Object mCallerContext;

    public ReactImageManager(Object mCallerContext) {
        this.mCallerContext = mCallerContext;
    }

    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @Override
    protected ReactImageView createViewInstance(ThemedReactContext reactContext) {
        return new ReactImageView(reactContext, Fresco.newDraweeControllerBuilder(), mCallerContext);
   }
}

我有点迷茫,因为代码来自官方教程。

4

1 回答 1

0

自从编写教程以来,ReactImageView 类的签名似乎发生了变化,构造函数现在还要求您传递 GlobalImageLoadListener 类型的对象。从最新的 react-native 版本开始,它被标记为可为空,因此您可以尝试只传递一个空引用。

我自己刚开始,发现教程有些欠缺。

于 2019-02-05T12:40:47.017 回答