Title: TabView (or Tabs) inside BottomNavigation bug · Issue #9051 · NativeScript/NativeScript · GitHub
Open Graph Title: TabView (or Tabs) inside BottomNavigation bug · Issue #9051 · NativeScript/NativeScript
X Title: TabView (or Tabs) inside BottomNavigation bug · Issue #9051 · NativeScript/NativeScript
Description: Environment CLI: 7.0.10 Cross-platform modules: 7.0.13 Android Runtime: 7.0.1 Describe the bug If TabView is nested inside BottomNavigation, and you try to navigate to another page, the app crashes. System.err: An uncaught Exception occu...
Open Graph Description: Environment CLI: 7.0.10 Cross-platform modules: 7.0.13 Android Runtime: 7.0.1 Describe the bug If TabView is nested inside BottomNavigation, and you try to navigate to another page, the app crashes...
X Description: Environment CLI: 7.0.10 Cross-platform modules: 7.0.13 Android Runtime: 7.0.1 Describe the bug If TabView is nested inside BottomNavigation, and you try to navigate to another page, the app crashes...
Opengraph URL: https://github.com/NativeScript/NativeScript/issues/9051
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"TabView (or Tabs) inside BottomNavigation bug","articleBody":"**Environment**\r\n - CLI: 7.0.10\r\n - Cross-platform modules: 7.0.13\r\n - Android Runtime: 7.0.1\r\n\r\n**Describe the bug**\r\nIf TabView is nested inside BottomNavigation, and you try to navigate to another page, the app crashes.\r\n\r\n```\r\nSystem.err: An uncaught Exception occurred on \"main\" thread.\r\nSystem.err: Calling js method onViewAttachedToWindow failed\r\nSystem.err: Error: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.\r\nSystem.err: \r\nSystem.err: StackTrace:\r\nSystem.err: commitCurrentTransaction(file: node_modules/@nativescript/core/ui/bottom-navigation/index.android.js:369:0)\r\nSystem.err: at changeTab(file: node_modules/@nativescript/core/ui/bottom-navigation/index.android.js:387:0)\r\nSystem.err: at _onAttachedToWindow(file: node_modules/@nativescript/core/ui/bottom-navigation/index.android.js:319:0)\r\nSystem.err: at AttachListener.onViewAttachedToWindow(file: node_modules/@nativescript/core/ui/bottom-navigation/index.android.js:163:0)\r\nSystem.err: at com.tns.Runtime.callJSMethodNative(Native Method)\r\nSystem.err: at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1302)\r\nSystem.err: at com.tns.Runtime.callJSMethodImpl(Runtime.java:1188)\r\nSystem.err: at com.tns.Runtime.callJSMethod(Runtime.java:1175)\r\nSystem.err: at com.tns.Runtime.callJSMethod(Runtime.java:1153)\r\nSystem.err: at com.tns.Runtime.callJSMethod(Runtime.java:1149)\r\nSystem.err: at com.tns.gen.java.lang.Object_vendor_112166_28_AttachListener.onViewAttachedToWindow(Object_vendor_112166_28_AttachListener.java:18)\r\nSystem.err: at android.view.View.dispatchAttachedToWindow(View.java:19712)\r\nSystem.err: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3455)\r\nSystem.err: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3462)\r\nSystem.err: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3462)\r\nSystem.err: at android.view.ViewGroup.addViewInner(ViewGroup.java:5174)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4960)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4900)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4873)\r\nSystem.err: at android.view.ViewOverlay$OverlayViewGroup.add(ViewOverlay.java:208)\r\nSystem.err: at android.view.ViewGroupOverlay.add(ViewGroupOverlay.java:72)\r\nSystem.err: at androidx.transition.ViewGroupOverlayApi18.add(ViewGroupOverlayApi18.java:48)\r\nSystem.err: at androidx.transition.Visibility.onDisappear(Visibility.java:428)\r\nSystem.err: at androidx.transition.Visibility.createAnimator(Visibility.java:257)\r\nSystem.err: at androidx.transition.Transition.createAnimators(Transition.java:747)\r\nSystem.err: at androidx.transition.TransitionSet.createAnimators(TransitionSet.java:480)\r\nSystem.err: at androidx.transition.Transition.playTransition(Transition.java:1821)\r\nSystem.err: at androidx.transition.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:301)\r\nSystem.err: at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1088)\r\nSystem.err: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2983)\r\nSystem.err: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1930)\r\nSystem.err: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7988)\r\nSystem.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1154)\r\nSystem.err: at android.view.Choreographer.doCallbacks(Choreographer.java:977)\r\nSystem.err: at android.view.Choreographer.doFrame(Choreographer.java:893)\r\nSystem.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1139)\r\nSystem.err: at android.os.Handler.handleCallback(Handler.java:883)\r\nSystem.err: at android.os.Handler.dispatchMessage(Handler.java:100)\r\nSystem.err: at android.os.Looper.loop(Looper.java:214)\r\nSystem.err: at android.app.ActivityThread.main(ActivityThread.java:7682)\r\nSystem.err: at java.lang.reflect.Method.invoke(Native Method)\r\nSystem.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)\r\nSystem.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)\r\nSystem.err: Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.\r\nSystem.err: at android.view.ViewGroup.addViewInner(ViewGroup.java:5131)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4960)\r\nSystem.err: at androidx.viewpager.widget.ViewPager.addView(ViewPager.java:1485)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4900)\r\nSystem.err: at android.view.ViewGroup.addView(ViewGroup.java:4873)\r\nSystem.err: at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:326)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1509)\r\nSystem.err: at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2637)\r\nSystem.err: at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2589)\r\nSystem.err: at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2723)\r\nSystem.err: at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:346)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1200)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368)\r\nSystem.err: at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446)\r\nSystem.err: at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:442)\r\nSystem.err: at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2181)\r\nSystem.err: at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2004)\r\nSystem.err: at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1959)\r\nSystem.err: at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1830)\r\nSystem.err: at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:303)\r\nSystem.err: ... 39 more\r\n```\r\n\r\n**To Reproduce**\r\n1. Create new NS project (with angular)\r\n2. Create 2 pages (page-1 and page-2)\r\n3. On page-1 create BottomNavigation\r\n4. Inside one of the BottomNavigation tabs add button that navigates to page-2\r\n5. Below the button add TabView\r\n6. `ns run android`\r\n7. Tap the button to navigate to page-2\r\n\r\n**Expected behavior**\r\nShould be able to navigate to page-2\r\n\r\n**Sample project**\r\nI have created sample project with 2 BottomNavigation tabs. Each tab has button that navigates to page-2, but only second tab has TabView. Navigation from first tab works. If you try to navigate from second tab, the error from above occurs.\r\n[https://github.com/lbracun/ns-bug](https://github.com/lbracun/ns-bug)\r\n\r\n**Additional context**\r\n~~I only tried it on Android, don't know if it happens on iOS too.~~\r\nTried it on iOS, and it works as intended. So the problem only happens on Android. \r\nForgot to mention before: i tried to create sample on the playground, but the error didn't show (because of NS 6 i think).\r\n\r\nUpdate:\r\nI also tried using Tabs instead of TabView, but same thing happens.","author":{"url":"https://github.com/lbracun","@type":"Person","name":"lbracun"},"datePublished":"2020-11-18T15:59:45.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/9051/NativeScript/issues/9051"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:08cb3b99-fa18-111d-c663-d0bb2ba46591 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BF40:396575:14AD360:1CA5F66:6973A2F5 |
| html-safe-nonce | dff93e5294a3430ac444bcbaf55c5c85a2cf7fbaed307f2f2fddf21437581db1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRjQwOjM5NjU3NToxNEFEMzYwOjFDQTVGNjY6Njk3M0EyRjUiLCJ2aXNpdG9yX2lkIjoiNTE0NDUyMzE5MzQwMTQ1MTI1MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 02e5ce6c77ee617248dd63aca0020e7b55066aeeaf4552a8e6a0849908385d16 |
| hovercard-subject-tag | issue:745785988 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/NativeScript/NativeScript/9051/issue_layout |
| twitter:image | https://opengraph.githubassets.com/8ccfb683e6201c4394562f50af5a933a9e898a17735dd75a23f79a3a2ac12478/NativeScript/NativeScript/issues/9051 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/8ccfb683e6201c4394562f50af5a933a9e898a17735dd75a23f79a3a2ac12478/NativeScript/NativeScript/issues/9051 |
| og:image:alt | Environment CLI: 7.0.10 Cross-platform modules: 7.0.13 Android Runtime: 7.0.1 Describe the bug If TabView is nested inside BottomNavigation, and you try to navigate to another page, the app crashes... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | lbracun |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3e9aa9d0c22a21b13b378b4acd09f5dd4876a884425aacd32a9f473b84c8762d |
| turbo-cache-control | no-preview |
| go-import | github.com/NativeScript/NativeScript git https://github.com/NativeScript/NativeScript.git |
| octolytics-dimension-user_id | 7392261 |
| octolytics-dimension-user_login | NativeScript |
| octolytics-dimension-repository_id | 31492490 |
| octolytics-dimension-repository_nwo | NativeScript/NativeScript |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 31492490 |
| octolytics-dimension-repository_network_root_nwo | NativeScript/NativeScript |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | ae4dbd3ac4179af799d71b75a60b0075ccccc5f6 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width