我要在react-native中导入一个本地android库。我有一个显示屏幕的SimpleViewManager,我想创建一个ReactContextBaseJavaModule来启动一个可以更改屏幕的函数。 如何在我的模块和视图管理器中获得相同的视图?
在纯android系统中,该库运行良好,并提供了一个视图和一个将创建的视图作为参数的函数。我的视图管理器已正确显示,但模块无法正常工作。
有MyModule.java:
public class MyModule extends ReactContextBaseJavaModule{
public MyModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {...}
@Override
public Map<String, Object> getConstants() {...}
@ReactMethod
public void MyFunction() {
LibraryFunction(LibraryView); // There I want the LibraryView created in MyViewManager
}
}
有MyViewManager.java
public class MyViewManager extends SimpleViewManager<LibraryView>{
@Override
public String getName() {...}
@Override
protected LibraryView createViewInstance(ThemedReactContext reactContext) {
return new LibraryView(reactContext);
}
}
有MyPackage.java
public class MyPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
List<ViewManager> ViewManagers = new ArrayList<>();
ViewManagers.add(new MyViewManager());
return ViewManagers;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new MyModule(reactContext));
return modules;
}
}
我想将LibraryFunction与MyViewManager中创建的LibraryView一起使用,但现在无法获取。
感谢您的帮助。