React Native:使用Android Native Modules将片段添加到mainactivity

时间:2017-11-24 20:47:25

标签: android android-layout react-native react-native-android fragmentmanager

我有一个特定的Android原生库来集成相机功能。该库为Fragment提供了它的所有功能。我只是想将它与React Native app中的Mainactivity集成。

我已点击链接"Add fragment into react-native view"

我也经历了很多tutorials。但我被困在我们将片段添加到React本机应用程序的Mainactivity容器布局的地方。

更新

React Component(JS文件):

export default class MyCustomView extends Component {
render() {
   return (
      <View >
       {
        MyLayout.openBlankFragment(12345)

       }
      </View>
   );
  }
  }
 const MyLayout = NativeModules.MyModule;

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()。需要帮助。如果我将活动根视图ID设置为&#34; transaction.add(android.R.id.content,fragment);&#34;。它工作正常,我可以我的片段。但我需要在React屏幕中将我的片段设置为视图,就像一个框架。

0 个答案:

没有答案