在 Android 控件演示 - Fragment (一), 演示了适用静态的方式将 Fragment 放置到 Activity 中。本文将简单演示如何动态的切换 Fragment。
继续使用 Android 控件演示 - Fragment (一) 中的示例,在 MainActivity 中添加一个按钮,当按钮按下时,将 fragment1 中的 Fragment 由 TodoFragment 切换新加的一个 ProductFragment。
添加按钮
添加后界面描述文件 activity_main.xml 为:
1 |
|
新建 Fragment
选择新建一个 Fragment, 并命名为: ProductFragment。然后在 ProductFragment 中加入一个简单的文本显示即可。
1 |
|
ProductFragment 对应的java代码不做任何改动,保持不变。
实现 Fragment 动态切换
然后在 MainActivity.java 中加入按钮事件处理代码:
1 | void onChangeFragment() { (R.id.btnChange) |
以上代码中,使用了 FragmentManager,FragmentManager 是 Android 中用来管理 Fragment 的一个类,可以通过 Activity 中的 getSupportFragmentManager() 方法获得FragmentManager,FragmentManager 中包含了 add(), remove(), replace() 等方法对 Fragment 进行管理。其典型的调用格式为:
1 | beginTransaction() |
该完以后运行程序,就可以看到通过按钮实现了 Fragment 的切换。