Android源码开发之Fragment之间的跳转

本文探讨了在Android ROM定制中如何实现Fragment之间的有效跳转。首先介绍了传统方法,即通过intent跳转至Activity再启动目标Fragment,但这种方法存在限制。接着提出了一种新的解决方案,即直接将目标Fragment声明为一个独立的Activity,在AndroidManifest.xml和Settings.java中进行相应配置,并在需要跳转的位置启动该Activity,实现了更灵活的Fragment跳转。
摘要由CSDN通过智能技术生成

搞Rom定制,通常会遇到从一个fragment跳转到另外一个fragment,例如在lauuncher界面加一个menu菜单,点击会跳转到Settings模块的floatview,而这个floatview是一个fragment

第一种思路,先intent跳转到Settings的activity,再用Settings里的方法startPreferencePanel()跳转到指定fragment,问题是这个方法只能放在onCreate()里,每次Settings的activity销毁后,才能跳转到指定fragment;如果放在onStart()或onResume()方法里,每次打开Settings,都会到指定的fragment,故这个方法有缺陷。

第二种思路,把要跳转的fragment声明为activity,这样跳转就ok了,具体实现如下

1.Settings的AndroidManifest.xml里添加

      <activity
           android:name="Settings$FloatViewActivity"
           android:screenOrientation="portrait"
           android:uiOptions="none" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.DEFAULT" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值