File tree Expand file tree Collapse file tree
packages/core/ui/tab-view Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -383,7 +383,26 @@ export class TabViewItem extends TabViewItemBase {
383383
384384 public _getChildFragmentManager ( ) : androidx . fragment . app . FragmentManager {
385385 const tabView = this . parent as TabView ;
386- return ( < any > tabView ) . _getRootFragmentManager ( ) ;
386+ let tabFragment = null ;
387+ const fragmentManager = tabView . _getFragmentManager ( ) ;
388+ const fragments = fragmentManager . getFragments ( ) . toArray ( ) ;
389+ for ( let i = 0 ; i < fragments . length ; i ++ ) {
390+ if ( fragments [ i ] . index === this . index ) {
391+ tabFragment = fragments [ i ] ;
392+ break ;
393+ }
394+ }
395+
396+ // TODO: can happen in a modal tabview scenario when the modal dialog fragment is already removed
397+ if ( ! tabFragment ) {
398+ if ( Trace . isEnabled ( ) ) {
399+ Trace . write ( `Could not get child fragment manager for tab item with index ${ this . index } ` , traceCategory ) ;
400+ }
401+
402+ return ( < any > tabView ) . _getRootFragmentManager ( ) ;
403+ }
404+
405+ return tabFragment . getChildFragmentManager ( ) ;
387406 }
388407
389408 [ fontSizeProperty . getDefault ] ( ) : { nativeSize : number } {
You can’t perform that action at this time.
0 commit comments