假设已经创建好了MyFragment,首先给Activity的布局设置id以备之后要用。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_activity_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
在Activity中动态加载碎片
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建一个MyFragment实例
MyFragment myFragment = new MyFragment();
//获取FragmentManager实例
FragmentManager fragmentManager = getFragmentManager();
//开启FragmentTransaction事务
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
//通过事务向Activity的布局中添加MyFragment
fragmentTransaction.add(R.id.main_activity_layout, myFragment);
//提交事务
fragmentTransaction.commit();
}
}
注意:如果是API23
应该导入:import android.app.Fragment;
而不是以前的:import android.support.v4.app.Fragment;
否则fragmentTransaction.add(R.id.main_activity_layout, myFragment);会报错