Fragment的两种加载方式

最近使用Fragment有一些小心得,赶紧记录下来。

Fragment的两种加载方式,

第一种,直接添加的方式

//步骤一:添加一个FragmentTransaction的实例
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
//步骤二:用add()方法加上Fragment的对象ListFragment
ListFragment listFragment = new ListFragment();
transaction.add(R.id.fl_usermanage_container, listFragment);
//步骤三:调用commit()方法使得FragmentTransaction实例的改变生效
transaction.commit();

第二种,这种方式添加后可以和一个Activity类似,支持系统的返回键,也支持自己当作一个独立的类activity一样

FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fl_usermanage_container, new ListFragment());
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

也可以主动关闭:

getSupportFragmentManager().popBackStack();//suport.v4包

或getFragmentManager().popBackStack();

类同Activity的finsh();


下面简单解释下,ListFragment为需要加载的Fragment,fl_usermanage_container为当前父承载页面(可以是Activity也可以是父Fragment)里用来装载ListFragmenta的布局id

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <FrameLayout
        android:id="@+id/fl_usermanage_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="0dp"
        android:background="@drawable/white_round"
        android:orientation="vertical" />

</LinearLayout>

第二类传递数据写法

Bundle bundle = new Bundle();
bundle.putParcelable("adminBean", lists.get(position));
AddFragment addFragment = new AddFragment();
addFragment.setArguments(bundle);

FragmentTransaction ft2 = getFragmentManager().beginTransaction();
ft2.replace(R.id.fl_usermanage_container, addFragment);
ft2.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft2.addToBackStack(null);
ft2.commit();









猜你喜欢

转载自blog.csdn.net/you943047219/article/details/79815412
今日推荐