android 如何把一个继承了FragmentActivity 的 Activity转换成Frag
我写的是类似于网易新闻那个的界面布局,使用抽屉导航(官方版本滑动显示页面.FragmentManagerfragmentManager=getFragmentManage...
我写的是类似于网易新闻那个的界面布局 ,使用抽屉导航(官方版本 滑动显示页面 .FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();这个来替换页面的显示,用的是Fragment ,滑动显示页面的用的是继承FragmentActivity的Activity。如何把Activity转化成Fragment?
展开
2个回答
展开全部
方案1:
利用intent附加参数的方式,在fragment所在的activity中判断一下intent的附加参数,从而设置显示哪个fragment,这个比方案一要简单明了一些。大概思路如下
你可以在你startactivity的地方,对intent加入一个参数,例如,intert.putExtra("fragid",1);然后再你的fragment的主activity中的oncreate或者Onresume函数中获得这个id,例如int id = intert.getIntegerExtra("fragid",-1);然后根据这个id跳转即可
if(id > 0) {
if(id == 目标id) myfragment.setvisible(true);
}
方案1:
首先应该明确的是在fragment中,也是可以定义onResultActivity()函数。我们先来重新定义一下这个场景。activity A创建了fragment B,在fragment B中用startactivityResult()函数跳转到activity C。
首先,肯定不会执行activity C中的onResultActivity()函数。
其次,首先肯定会去执行activity A中的onResultActivity()函数,不管你在fragment B中是用的getactivity().onResultActivity(),还是直接使用onResultActivity()。
而且,如果你重写了activity A的onActivityResult方法
而没有super.onActiivtyResult(),那么你在fragment B里的onActivityResult不会被调用。因为super.onActiivtyResult()里面会去找当前activity A中的fragment,并去调用fragment 的onActiivtyResult。
利用intent附加参数的方式,在fragment所在的activity中判断一下intent的附加参数,从而设置显示哪个fragment,这个比方案一要简单明了一些。大概思路如下
你可以在你startactivity的地方,对intent加入一个参数,例如,intert.putExtra("fragid",1);然后再你的fragment的主activity中的oncreate或者Onresume函数中获得这个id,例如int id = intert.getIntegerExtra("fragid",-1);然后根据这个id跳转即可
if(id > 0) {
if(id == 目标id) myfragment.setvisible(true);
}
方案1:
首先应该明确的是在fragment中,也是可以定义onResultActivity()函数。我们先来重新定义一下这个场景。activity A创建了fragment B,在fragment B中用startactivityResult()函数跳转到activity C。
首先,肯定不会执行activity C中的onResultActivity()函数。
其次,首先肯定会去执行activity A中的onResultActivity()函数,不管你在fragment B中是用的getactivity().onResultActivity(),还是直接使用onResultActivity()。
而且,如果你重写了activity A的onActivityResult方法
而没有super.onActiivtyResult(),那么你在fragment B里的onActivityResult不会被调用。因为super.onActiivtyResult()里面会去找当前activity A中的fragment,并去调用fragment 的onActiivtyResult。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询