在onCreate android中不使用PersistableBundle时,React本机组件崩溃

时间:2018-03-15 07:43:21

标签: android react-native kotlin

我正在使用本机Android活动打开的React native中的聊天应用创建。我的活动,ChatActivity最初是使用onCreate PersistableBundle开发的,如下所示:

override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
    super.onCreate(savedInstanceState, persistentState)

    mReactRootView = ReactRootView(this)

    mReactInstanceManager = ReactInstanceManager.builder()
            .setApplication(application)
            .setBundleAssetName("index.android.bundle")
            .setJSMainModulePath("index.android")
            .addPackage(MainReactPackage())
            .setUseDeveloperSupport(BuildConfig.DEBUG)
            .setInitialLifecycleState(LifecycleState.RESUMED)
            .build()

    mReactRootView.startReactApplication(mReactInstanceManager, "AppApplication", null)

    setContentView(mReactRootView)
}

这工作得非常好,但由于持久性,它并不是每次都在调用。我想每次调用onCreate传递一些数据,所以我只使用onCreate方法如下:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

我不知道如何在没有持久性捆绑的情况下改变编码是崩溃的。崩溃报告如下:

FATAL EXCEPTION: main
Process: com.app.alldaydr, PID: 7255
com.facebook.react.uimanager.IllegalViewOperationException: Trying to add unknown view tag: 2
 detail: View tag:7
  children(0): [
 ],
  viewsToAdd(1): [
[0,2],
 ],

    at com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren(NativeViewHierarchyManager.java:394)
    at com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute(UIViewOperationQueue.java:180)
    at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:815)
    at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:922)
    at com.facebook.react.uimanager.UIViewOperationQueue.access$2100(UIViewOperationQueue.java:47)
    at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:982)
    at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:31)
    at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:136)
    at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:107)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:964)
    at android.view.Choreographer.doCallbacks(Choreographer.java:778)
    at android.view.Choreographer.doFrame(Choreographer.java:710)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:172)
    at android.app.ActivityThread.main(ActivityThread.java:6637)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

我是React原生开发的新手,并且对此行为感到困惑。任何人都可以解释为什么会发生这种行为?

我做错了吗?

由于

0 个答案:

没有答案