У меня есть специальная нативная библиотека Android для интеграции функций камеры. Библиотека предоставляет фрагменту все его функции. Я просто хочу интегрировать это с Mainactivity в приложение React Native.
Я перешел по ссылке "Добавить фрагмент в реагирующее представление"
Также я прошел через множество уроков. Но я застрял в том месте, где мы добавляем фрагмент в макет контейнера Mainactivity нативного приложения React.
Обновление:
Компонент React (файл JS):
export default class MyCustomView extends Component {
render() {
return (
<View >
{
MyLayout.openBlankFragment(12345)
}
</View>
);
}
}
const MyLayout = NativeModules.MyModule;
Мой модуль (код Java):
@ReactMethod
private void openBlankFragment(final int viewId) {
// Log.v("View Tag", "View ID: "+viewId); it prints tag 12345
UIManagerModule uiManager = getReactApplicationContext().getNativeModule(UIManagerModule.class);
uiManager.addUIBlock(new UIBlock() {
@Override
public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
View view = nativeViewHierarchyManager.resolveView(viewId);
final Activity activity = getCurrentActivity();
BlankFragment fragment = new BlankFragment();
FragmentTransaction transaction = ((MainActivity)activity).getSupportFragmentManager().beginTransaction();
transaction.add(view.getId(), fragment);
transaction.commit();
}
});
}
view.getId() не распознан. Нужна помощь здесь. Если я установлю идентификатор корневого представления активности, например «transaction.add (android.R.id.content, фрагмент);». Он работает нормально, и я могу использовать свой фрагмент. Но мне нужно настроить свой фрагмент как вид на экране React, как фрейм.