@@ -93,10 +93,9 @@ public void onViewCreated(final View view, final Bundle savedInstanceState) {
9393 }
9494 }
9595
96- Log .d (TAG , "onViewCreated " + mTabs );
9796 pagerAdapter = new PagerAdapter (childFragmentManager );
9897 mViewPager .setAdapter (pagerAdapter );
99- Log .d (TAG , "mViewPager " + mViewPager );
98+ Log .d (TAG , "onViewCreated mViewPager " + mViewPager + ", mTabs " + mTabs );
10099 if (args != null ) {
101100 mViewPager .setCurrentItem (args .getInt ("pos" , pageSelected ), true );
102101 } else {
@@ -454,24 +453,41 @@ public boolean circular() {
454453 return true ;
455454 }
456455
456+ @ Override
457+ public void onResume () {
458+ Log .d (TAG , "onResume pagerAdapter=" + pagerAdapter + ", mTabs=" + mTabs + ", newIntent " + newIntent );
459+ super .onResume ();
460+ if (newIntent ) {
461+ newIntent = false ;
462+ addFrag (main , pagerItem );
463+ }
464+ }
465+
466+ private boolean newIntent = false ;
467+ private TextFrag main = null ;
468+ private PagerItem pagerItem = null ;
457469 public void addTextTab (final Intent intent , String title ) {
458470 if (title == null || title .length () == 0 ) {
459471 title = "Untitled " + ++TextFrag .no + ".txt" ;
460472 }
461- Log .d (TAG , "addTab1 pagerAdapter=" + pagerAdapter + ", filename=" + title + ", mTabs=" + mTabs );
462- final TextFrag main = TextFrag .newInstance (intent , title , null );
463- final PagerItem pagerItem = new PagerItem (main );
473+ Log .d (TAG , "addTextTab1 mViewPager=" + mViewPager + ", pagerAdapter=" + pagerAdapter + ", filename=" + title + ", mTabs=" + mTabs );
474+ main = TextFrag .newInstance (intent , title , null );
475+ pagerItem = new PagerItem (main );
464476 main .slidingTabsFragment = this ;
465477
466- mTabs . add ( mTabs .size () > 1 ? pageSelected : 0 , pagerItem );
467- if ( mViewPager != null ) {
478+ if ( mViewPager != null && mTabs .size () == 0 ) {
479+ mTabs . add ( pagerItem );
468480 //addFrag(main, pagerItem);
469481 pagerAdapter .notifyDataSetChanged ();
470482 mViewPager .setCurrentItem (pagerAdapter .getCount () - 1 );
471483 notifyTitleChange ();
472484 //main.onPrepareOptionsMenu(((MainActivity)getActivity()).menu);
485+ } else if (mTabs .size () >= 1 ) {
486+ newIntent = true ;
487+ } else {
488+ mTabs .add (pagerItem );
473489 }
474- Log .d (TAG , "addTab2 " + title + ", " + mTabs );
490+ Log .d (TAG , "addTextTab2 " + title + ", " + mTabs );
475491 }
476492
477493 public void addTab (final OpenMode openmode , final String path ) {
@@ -512,7 +528,7 @@ private void addFrag(Frag frag, PagerItem pagerItem) {
512528 final int size = mTabs .size ();
513529 if (size > 1 ) {
514530 int currentItem = mViewPager .getCurrentItem ();
515- Log .d (TAG , "addTab1 currentItem " + currentItem + ", dir=" + frag .currentPathTitle + ", mTabs=" + mTabs );
531+ Log .d (TAG , "addFrag1 currentItem " + currentItem + ", dir=" + frag .currentPathTitle + ", mTabs=" + mTabs );
516532
517533 PagerItem pi = mTabs .get (0 );
518534 ft .remove (pi .fakeFrag );
@@ -545,7 +561,7 @@ private void addFrag(Frag frag, PagerItem pagerItem) {
545561 mViewPager .setCurrentItem (mTabs .size ());
546562 }
547563 notifyTitleChange ();
548- Log .d (TAG , "addTab2 " + frag .currentPathTitle + ", mViewPager.getCurrentItem() " + mViewPager .getCurrentItem () + ", " + mTabs );
564+ Log .d (TAG , "addFrag2 " + frag .currentPathTitle + ", mViewPager.getCurrentItem() " + mViewPager .getCurrentItem () + ", " + mTabs );
549565 }
550566
551567 public int realFragCount () {
0 commit comments