android.support.v4.app.FragmentManager#getFragment ( )源码实例Demo

下面列出了android.support.v4.app.FragmentManager#getFragment ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: AndroidWallet   文件: ContainerActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_container);
    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = null;
    if (savedInstanceState != null) {
        fragment = fm.getFragment(savedInstanceState, FRAGMENT_TAG);
    }
    if (fragment == null) {
        fragment = initFromIntent(getIntent());
    }
    FragmentTransaction trans = getSupportFragmentManager()
            .beginTransaction();
    trans.replace(R.id.content, fragment);
    trans.commitAllowingStateLoss();
    mFragment = new WeakReference<>(fragment);
}
 
源代码2 项目: WanAndroid   文件: TimelineFragment.java
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState!=null){
        FragmentManager fragmentManager = getChildFragmentManager();
        articlesFragment = (ArticlesFragment) fragmentManager.getFragment(savedInstanceState, ArticlesFragment.class.getSimpleName());
        favoritesFragment = (FavoritesFragment) fragmentManager.getFragment(savedInstanceState, FavoritesFragment.class.getSimpleName());
        readLaterFragment = (ReadLaterFragment) fragmentManager.getFragment(savedInstanceState, ReadLaterFragment.class.getSimpleName());
    }else {
        articlesFragment = ArticlesFragment.newInstance();
        favoritesFragment = FavoritesFragment.newInstance();
        readLaterFragment = ReadLaterFragment.newInstance();
    }

    new ArticlesPresenter(articlesFragment,
            ArticlesDataRepository.getInstance(ArticlesDataRemoteSource.getInstance()),
            BannerDataRepository.getInstance(BannerDataRemoteSource.getInstance()),
            LoginDataRepository.getInstance(LoginDataLocalSource.getInstance(), LoginDataRemoteSource.getInstance()));

    new FavoritesPresenter(favoritesFragment,
            FavoriteArticlesDataRepository.getInstance(FavoriteArticlesDataRemoteSource.getInstance(),
                    FavoriteArticlesDataLocalSource.getInstance()));

    new ReadLaterPresenter(readLaterFragment,
            ReadLaterArticlesDataRepository.getInstance(ReadLaterArticlesLocalSource.getInstance()));
}
 
private void restoreFragments(Bundle savedInstanceState) {
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    if (savedInstanceState != null) {
        profileFragment = (ProfileFragment)manager.getFragment(savedInstanceState, ProfileFragment.TAG);
        settingsFragment = (SettingsFragment)manager.getFragment(savedInstanceState, SettingsFragment.TAG);
    }

    if (profileFragment == null) {
        profileFragment = new ProfileFragment();
        transaction.add(R.id.fragmentContainer, profileFragment, ProfileFragment.TAG);
    }

    if (settingsFragment == null) {
        settingsFragment = new SettingsFragment();
        transaction.add(R.id.fragmentContainer, settingsFragment, SettingsFragment.TAG);
    }

    transaction.commit();
}
 
源代码4 项目: WanAndroid   文件: LoginActivity.java
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.container);
    if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("navigation_bar_tint", true)) {
        getWindow().setNavigationBarColor(ContextCompat.getColor(this,R.color.colorPrimaryDark));
    }
    if (savedInstanceState != null) {
        FragmentManager manager = getSupportFragmentManager();
        loginFragment = (LoginFragment) manager.getFragment(savedInstanceState, LoginFragment.class.getSimpleName());
        signUpFragment = (SignUpFragment) manager.getFragment(savedInstanceState, LoginFragment.class.getSimpleName());
    }else {
        loginFragment = LoginFragment.newInstance();
        signUpFragment = SignUpFragment.newInstance();
    }

    if (!loginFragment.isAdded()){
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.view_pager, loginFragment, LoginFragment.class.getSimpleName())
                    .commit();
        }
        if (!signUpFragment.isAdded()){
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.view_pager, signUpFragment, SignUpFragment.class.getSimpleName())
                    .commit();
        }
        new LoginPresenter(loginFragment, LoginDataRepository.getInstance(
                LoginDataLocalSource.getInstance(),
                LoginDataRemoteSource.getInstance()
        ), ReadLaterArticlesDataRepository.getInstance(ReadLaterArticlesLocalSource.getInstance()));
        new LoginPresenter(signUpFragment, LoginDataRepository.getInstance(
                LoginDataLocalSource.getInstance(),
                LoginDataRemoteSource.getInstance()
        ), ReadLaterArticlesDataRepository.getInstance(ReadLaterArticlesLocalSource.getInstance()));
        showLoginFragment();

}
 
源代码5 项目: WanAndroid   文件: MainActivity.java
private void initFragments(Bundle savedInstanceState) {
    FragmentManager fragmentManager = getSupportFragmentManager();
    if (savedInstanceState != null) {
        mTimelineFragment = (TimelineFragment) fragmentManager.getFragment(savedInstanceState, TimelineFragment.class.getSimpleName());
        mCategoriesFragment = (CategoriesFragment) fragmentManager.getFragment(savedInstanceState, CategoriesFragment.class.getSimpleName());
        mAboutFragment = (AboutFragment) fragmentManager.getFragment(savedInstanceState, AboutFragment.class.getSimpleName());
    } else {
        mTimelineFragment = TimelineFragment.newInstance();
        mCategoriesFragment = CategoriesFragment.newInstance();
        mAboutFragment = AboutFragment.newInstance();
    }
    if (!mTimelineFragment.isAdded()) {
        fragmentManager.beginTransaction()
                .add(R.id.frame_layout, mTimelineFragment, TimelineFragment.class.getSimpleName())
                .commit();
    }
    if (!mCategoriesFragment.isAdded()) {
        fragmentManager.beginTransaction()
                .add(R.id.frame_layout, mCategoriesFragment, CategoriesFragment.class.getSimpleName())
                .commit();
    }

    if (!mAboutFragment.isAdded()) {
        fragmentManager.beginTransaction()
                .add(R.id.frame_layout, mAboutFragment, AboutFragment.class.getSimpleName())
                .commit();
    }
}
 
源代码6 项目: ui   文件: ActionbarActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);

	FragmentManager fragmentManager = getSupportFragmentManager();
	if (savedInstanceState != null) {
		one = (PageFragment) fragmentManager.getFragment(savedInstanceState, "ONE");
		two = (PageFragment) fragmentManager.getFragment(savedInstanceState, "TWO");
		three = (PageFragment) fragmentManager.getFragment(savedInstanceState, "THREE");
		four = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FOUR");
		five = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FIVE");
		//since survived, need to clean up or I can't add them to the pagers adapter again.
		FragmentTransaction remove = fragmentManager.beginTransaction();
		remove.remove(one);
		remove.remove(two);
		remove.remove(three);
		remove.remove(four);
		remove.remove(five);
		if (!remove.isEmpty()) {
			remove.commit();
			fragmentManager.executePendingTransactions();
		}
	} else {
		one = PageFragment.create(1);
		two = PageFragment.create(2);
		three = PageFragment.create(3);
		four = PageFragment.create(4);
		five = PageFragment.create(5);
	}

	viewPager = (ViewPager) findViewById(R.id.pager);
	mPagerAdapter = new myFragmentPagerAdapter(5);
	viewPager.setAdapter(mPagerAdapter);
	//viewPager.setCurrentItem(2);
	//we need to know when a page has changed, so we can change/fix the next/previous/finish buttons
	viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
		@SuppressLint("NewApi")
		@Override
		public void onPageSelected(int position) {
			// When changing pages, reset the action bar actions since they are dependent
			// on which page is currently active. An alternative approach is to have each
			// fragment expose actions itself (rather than the activity exposing actions),
			// but for simplicity, the activity provides the actions in this sample.
			if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {  //should kept this demo from force closing if run on the wrong API... I think...
				//Note, if below HONEYCOMB, then no buttons, because no actionbar.
				invalidateOptionsMenu();}
		}
	});
}
 
源代码7 项目: ui   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
    FragmentManager fragmentManager = getSupportFragmentManager();
    if (savedInstanceState != null) {
    	one = (PageFragment) fragmentManager.getFragment(savedInstanceState, "ONE");
    	two = (PageFragment) fragmentManager.getFragment(savedInstanceState, "TWO");
    	three = (PageFragment) fragmentManager.getFragment(savedInstanceState, "THREE");
    	four = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FOUR");
    	five = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FIVE");
    	//since survived, need to clean up or I can't add them to the pagers adapter again.
	    FragmentTransaction remove = fragmentManager.beginTransaction();
	    remove.remove(one);
	    remove.remove(two);
	    remove.remove(three);
	    remove.remove(four);
	    remove.remove(five);
	    if (!remove.isEmpty()) {
	        remove.commit();
	        fragmentManager.executePendingTransactions();
	    }
    } else {
    	one = PageFragment.create(1);
    	two = PageFragment.create(2);
    	three = PageFragment.create(3);
    	four = PageFragment.create(4);
    	five = PageFragment.create(5);
    }
	
	viewPager = (ViewPager) findViewById(R.id.pager);
	if (viewPager != null) {
	  //in portrait mode
	  viewPager.setAdapter(new ThreeFragmentPagerAdapter(5));
	} else {
		//in landscape mode
		viewPager1 = (ViewPager) findViewById(R.id.pagerleft);
		viewPager1.setAdapter(new ThreeFragmentPagerAdapter(2));
		viewPager2 = (ViewPager) findViewById(R.id.pagerright);
		viewPager2.setAdapter(new ThreeFragmentPagerAdapter(3));
		
	}
	
}
 
源代码8 项目: ui   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	//getSupportFragmentManager().beginTransaction().add(R.id.frag_container, firstFragment).commit();
	
	//first find the 3 fragments, if create them as needed.
	//Remember fragments can survive the restart of an activity on orientation change.
	FragmentManager fragmentManager = getSupportFragmentManager();
	if (savedInstanceState != null) {
		leftfrag = (FragLeft) fragmentManager.getFragment(savedInstanceState, "LEFT");
		midfrag  = (FragMid) fragmentManager.getFragment(savedInstanceState,"MIDDLE");
		rightfrag = (FragRight) fragmentManager.getFragment(savedInstanceState,"RIGHT");
		//since survived, remove them from the fragment manager, so don't double add them.
	    FragmentTransaction remove = fragmentManager.beginTransaction();
	    remove.remove(leftfrag);
	    remove.remove(midfrag);
	    remove.remove(rightfrag);
	    if (!remove.isEmpty()) {
	        remove.commit();
	        fragmentManager.executePendingTransactions();
	    }
	} else {
    	leftfrag = new FragLeft();
    	midfrag = new FragMid();
    	rightfrag = new FragRight();
    }

	viewPager = (ViewPager) findViewById(R.id.pager);
	if (viewPager != null) {
	  //in portrait mode
	  viewPager.setAdapter(new ThreeFragmentPagerAdapter(fragmentManager));
	} else {
		//in landscape mode
	      fragmentManager.beginTransaction()
          .add(R.id.frag_left, leftfrag, "LEFT")
          .add(R.id.frag_mid, midfrag, "MIDDLE")
          .add(R.id.frag_right, rightfrag, "RIGHT")
          .commit();
	}
}
 
源代码9 项目: ui   文件: ActionbarActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_actionbar);

	//turn on up button
	getSupportActionBar().setDisplayHomeAsUpEnabled(true);

	
	FragmentManager fragmentManager = getSupportFragmentManager();
	if (savedInstanceState != null) {
		one = (PageFragment) fragmentManager.getFragment(savedInstanceState, "ONE");
		two = (PageFragment) fragmentManager.getFragment(savedInstanceState, "TWO");
		three = (PageFragment) fragmentManager.getFragment(savedInstanceState, "THREE");
		four = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FOUR");
		five = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FIVE");
		//since survived, need to clean up or I can't add them to the pagers adapter again.
		FragmentTransaction remove = fragmentManager.beginTransaction();
		remove.remove(one);
		remove.remove(two);
		remove.remove(three);
		remove.remove(four);
		remove.remove(five);
		if (!remove.isEmpty()) {
			remove.commit();
			fragmentManager.executePendingTransactions();
		}
	} else {
		one = PageFragment.create(1);
		two = PageFragment.create(2);
		three = PageFragment.create(3);
		four = PageFragment.create(4);
		five = PageFragment.create(5);
	}

	viewPager = (ViewPager) findViewById(R.id.pager);
	mPagerAdapter = new myFragmentPagerAdapter(5);
	viewPager.setAdapter(mPagerAdapter);
	//viewPager.setCurrentItem(2);
	//we need to know when a page has changed, so we can change/fix the next/previous/finish buttons
	viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
		@Override
		public void onPageSelected(int position) {
			supportInvalidateOptionsMenu();
		}
	});
}