http://blog.csdn.net/u012255016/article/details/51333896 (转)
- /**
- * 设置默认的fragment,即//第一次加载界面;
- */
- private void setDefaultFragment(Fragment fm) {
- mFm = getFragmentManager();
- FragmentTransaction mFragmentTrans = mFm.beginTransaction();
- mFragmentTrans.add(R.id.id_addfram, fm).commit();
- mContent = fm;
- }
- private FragmentManager mFm;
- private Fragment mContent;
- /**
- * 修改显示的内容 不会重新加载 *
- */
- public void switchContent(Fragment to) {
- if (mContent != to) {
- FragmentTransaction transaction = mFm.beginTransaction();
- if (!to.isAdded()) { // 先判断是否被add过
- transaction.hide(mContent).add(R.id.id_addfram, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
- } else {
- transaction.hide(mContent).show(to).commit(); // 隐藏当前的fragment,显示下一个
- }
- mContent = to;
- }
- }
- /**
- * 修改显示的内容 但会重新加载 *
- */
- public void switchContent2(Fragment to){
- FragmentTransaction transaction = mFm.beginTransaction();
- transaction.replace(R.id.id_addfram,to);
- //transaction.addToBackStack(null);
- transaction.commit();
- }
2. 解决横竖屏切换导致的Fragment内容重叠问题
<activity android:name=".activity.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
>
</activity>