android怎么设置fragment切换

android怎么设置fragment切换,第1张

需要做的准备

新建一个android项目,主Activity命名为MainActivity

创建三个Fragment1 Fragment2 Fragment3

为三个Fragment创建三个布局文fragment1.xml、fragment2.xml、fragment3.xml

布局 activity_main.xm

fragment1.xml样例

Fragment1样例

另外的可以根据样例进行修改

activity_main.xml内容

activity打开时我们需要显示一个fragment,也就是需要先向容器中添加一个fragment

这是就能显示第二个fragment了,那么如何切换不同的fragment呢,切换的过程如下

开启事务

调用事务的replace方法,将当前容器的fragment替换为新的fragment

提交事务

初始化时显示的是 fragment2

实践1 :fragment2------点击按钮frag1-----按返回键--------退出应用

实践2: fragment2-----点击按钮frag3 -----按返回键--------返回到fragment2

为啥会出现上面的情况,原因就是切换到fragment3时,调用了addToBackStack方法,这时会将fragment2先入栈,然后再切换到fragment3,按返回键的时候fragment3销毁,fragment2出栈显示,而切换到fragme1时没有将fragme2入栈,所以fragment2就直接销毁了,再按返回键就直接退出应用了。

放两个panel 在窗体上,都设置属性Dock 为 top , menu 放在上面panel里,toolbar放在下面的panel

Android Menu的文字有两种设置方式:

在 menu.xml中设置。

在java代码onCreateOptionsMenu中设置。

以下为示例代码:

在menu.xml中指定title即可

<item android:id="@+id/menu"

android:title="文字"/>

重载onCreateOptionsMenu(Menu menu)方法,并调用API。

menu.add((int groupId, int itemId, int order, charsequence title) .setIcon(drawable ID)

add()方法的四个参数,依次是:

1、组别,如果不分组的话就写Menu.NONE。

2、Id,这个很重要,Android根据这个Id来确定不同的菜单 。

3、顺序,哪个菜单项在前面由这个参数的大小决定 。

4、文本,菜单项的显示文本。

onCreateContextMenu需要在Activity中设置,因为Fragment是被Activity装载的,也就是说Fragment是运行在Activity上的,所以在要装载这个Fragment的Activity中增加ContextMenu。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7861518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存