本题仅针对react-native 0.29
及以后的版本:
我正在使用一个模块,它要求我将主要 Activity 传递给它的构造函数。
直到 react-native 29 之前我都是这样传递的:
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new OrientationPackage(this), //<-------
);
}
但是现在这部分代码必须在 MainApplication
中移动,我不再知道如何从那部分代码访问 MainActivity..
这就是我的 MainApplication.java
文件现在的样子:
public class PlaceAVoteApplication extends Application implements ReactApplication{
private static CallbackManager mCallbackManager = new CallbackManager.Factory().create();
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
/**
* A list of packages used by the app. If the app uses additional views
* or modules besides the default ones, add more packages here.
*/
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new OrientationPackage(this), //<-- Error here because this is not the MainActivity
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
}
有什么建议吗?
最佳答案
这对我有用
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage()
,new OrientationPackage(this)
);
}
};
关于java - 如何从 ReactApplication 中的 ReactNativeHost 中获取 MainActivity (ReactActivity),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38362997/