如何从一个activity加载fragment跳转到一个Fragment

&&&&关于Activity与Fragment间的跳转
&关于Activity与Fragment间的跳转
这是一个关于从activity跳到fragment,再从fragment跳到activity的源码!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
关于Activity与Fragment间的跳转
所需积分:2
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
关于Activity与Fragment间的跳转
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员从fragment跳转到activity , 返回到指定fragment页面
我的图书馆
从fragment跳转到activity , 返回到指定fragment页面
& & 前几天碰到这需求,我把这个记下了。& & 先假设类似的需求, 有两个fragment(分别是FA,以及FB)依附在MainActivity , 从FA跳转到ActivityC .按返回键返回到指定fragment FB 。& & 大家都觉得这其实很容易 ,只要在FA中加&startActivityForResult(intent, requestCode); &,再在Activity的返回事件中设置ActivityC.this.setResult(resultCode); , 以及在MainActivity 中重写&&onActivityResult(int requestCode, int resultCode, Intent data)&方法。是的, 基本就是这样的 ,但是当你使用的时候 ,你会发现MainActivity中的onActivityResult&方法会出现没有调用的情况, 简单理解就是没有返回到FB , 而是返回到默认的fragment。& & 怎么达到我们的需求呢 , 第一,在FA中的startActivityForResult(intent, requestCode);方法前面加&getActivity(). &这样可以让FA的宿主MainActivit启动目标ActivityC,这样就可以在MainActivit 中重写的&onActivityResult方法捕获到返回值 , 接下来就可以在MainActivity中判断requestCode以及 resultCode 来决定显示哪个fragment。一下分别是 FB中执行的代码
getActivity().startActivityForResult(intent, 1);&ActivityC 事件执行的代码:
// 这两句是放在点击返回控件触发的事件里面 ActivityC.this.setResult(2); ActivityC.this.finish();MainActivity的代码:@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
判断requestCode, resultCode 来确定要执行的代码
if(requestCode==1 && resultCode == 2){
// 在这设置选中你要显示的fragment
}是不是就ok了呢 , 对的 。 不过当你按返回键时, 他还是会任性的 ,所以你需要在ActivityC 中捕获返回键事件 /**
捕捉返回键事件
*/ public boolean onKeyDown(int keyCode, KeyEvent event) {
// 当点击返回键以及点击重复次数为0
if(keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
// 执行事件
ActivityC.this.setResult(2);
ActivityC.this.finish();
这样就可以达到我们刚才说的需求了。如果你要传参也是可以的。自己看下api。
发表评论:
TA的推荐TA的最新馆藏Posts - 3,
Articles - 0,
Comments - 0
10:46 by binlili, ... 阅读,
&在要跳转的activity中的按钮写:
//一、先跳转到主MyActivityFragment,通过传递参数让他接受
case R.id.grxxbut: & &
Intent show=new Intent(GrXxActivity.this,MyActivityFragment.class);&
show.putExtra("grxx",1);
startActivity(show);
//二、这个是fragment的主方法
public class MyActivityFragment extends FragmentActivity {
//在oncreat方法里面写上一下代码
Intent intert=getIntent();
int id = intert.getIntExtra("grxx",-1);
System.out.println("aaa"+id);
if(id==1){
transaction.replace(R.id.zlayout, showFragment); //这里是指定跳转到指定的fragment}

我要回帖

更多关于 activity添加fragment 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信