我在 React Native 中使用原生 Android ProgressBar
但发生了一些错误。这是我的 ProgressBarViewManager
代码:
public class ProgressBarViewManager extends
SimpleViewManager<ProgressBar> {
public static final String REACT_CLASS = "ProgressBar";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
protected ProgressBar createViewInstance(ThemedReactContext reactContext) {
return new ProgressBar(reactContext);
}
@ReactProp(name = "progress", defaultInt = 0)
public void setProgress(ProgressBar view, int progress) {
view.setProgress(progress);
}
@ReactProp(name = "indeterminate", defaultBoolean = false)
public void setIndeterminate(ProgressBar view, boolean indeterminate) {
view.setIndeterminate(indeterminate);
}
}
这是我的 ProgressBarPackage 代码
public class ProgressBarPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.<ViewManager>singletonList(
new ProgressBarViewManager()
);
}
}
我还在MainApplication.java
中添加了new ProgressBarPackage(),但运行后出现错误:
**Task :app:compileDebugJavaWithJavac FAILED
/home/user/React-native-Projects/AndroidComponentIntegeration/android/app/src/main/java/com/androidcomponentintegeration/ProgressBarPackage.java:19: error: method does not override or implement a method from a supertype
@Override**
最佳答案
ReactPackage类不再(从 this change 开始,包含在 React Native 0.47 中)定义 createJSModules
方法,因此您不再需要提供它的实现。只需删除该方法(包括其 @Override 注释):
public class ProgressBarPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.<ViewManager>singletonList(
new ProgressBarViewManager()
);
}
}
关于javascript - 将原生 UI 集成到 React Native 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53154177/