实现在同一个页面上动态加载两个Fragment
首先是布局文件,由两个LinearLayOut 构成,具体的 Fragement 布局就不贴了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=""
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/add_fm_left"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="3">
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:background="#cfcfcf" />
<LinearLayout
android:id="@+id/add_fm_right"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="7">
</LinearLayout>
</LinearLayout>
新建一个类 FragementRigh 继承自 Fragment (v4包下的)
public class FragmentHomeWorkRight extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_teacher_pad_notonlinehw_right,container,false);
return view;
}
public static FragmentHomeWorkRight newInstance()
{
FragmentHomeWorkRight fragmentRight = new FragmentHomeWorkRight();
return fragmentRight;
}
}
新建Activity类 加载布局并对 Fragment 初始化
public class AddHwActivity extends FragmentActivity {
private FragmentHomeWorkLeft fm_left;
private FragmentHomeWorkRight fm_right;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_hw);
initView();
}
private void initView() {
FragmentManager fm = getSupportFragmentManager();
fm_left = (FragmentHomeWorkLeft) fm.findFragmentById(R.id.add_fm_left);
fm_right = (FragmentHomeWorkRight) fm.findFragmentById(R.id.add_fm_right);
if (fm_left == null) {
fm_left = fm_left.newInstance();
fm.beginTransaction().add(R.id.add_fm_left, fm_left).commit();
}
if (fm_right == null) {
fm_right = fm_right.newInstance();
fm.beginTransaction().add(R.id.add_fm_right, fm_right).commit();
}
}
}