先放效果图。
有些时候需要整个页面改变,但是又没必要创建一个新的Activity,这时候可以使用这个方法。大致思路是,创建的第一个界面为主界面,通过这个界面打开其它的Fragment。主界面的Fragment是在MainActivity里面创建的,其它的Fragment是在主Fragment的java文件中创建。创建一个新的Fragment的时候把当前的Fragment隐藏,加入回退栈,这样按下返回键时会回退到上一个Fragment。如果不加入回退栈,则会执行onStop。其实还可以更改标题栏内容,这个Demo没有做,下面简单说下方法。使用getActivity()获取到当前的Activity。其实就创建了一个。然后使用setTitle()方法,更改标题栏内容。
注意:这个时候如果回退到上一个Fragmetn,标题栏内容依然是更改后的内容,标题栏的操作与Fragment的回退无关。
Java文件与XML文件比较多,在这里只贴出主Fragment的代码,整个工程文件打包提供下载。
public class mainFragment extends Fragment