文档章节

两个fragment 同时跳转另外一个fargment ,返回对应的fragment 的解决方法

黎明的星星
 黎明的星星
发布于 2015/08/12 14:27
字数 381
阅读 2931
收藏 2

安卓app主页面为 FragmentActivity,其余页面为fragmnet页面。



主页面  底部导航栏 三个按钮。 点击三个按钮分别跳转不同的  frgment .如果  点击这个三个按钮时,其中两个或者三个再者一个 ,  需要 判断  用户是否登录,(当然跳转的登录页面也是  frgment页面)。那么 跳转到登录页面  ,登录成功后 如何返回

主页面  按钮 对应的 fragment  呢? 这里为大家讲解一下  解决方案!当然这仅仅是针对于  本人项目的解决 方法。不过可能对你  有用哦。


首页先  贴出  主页面   FragmentActivity   里面  判断的代码:


private void eventUser() {

// TODO Auto-generated method stub

buttonChange(2);


if (MyApplication.instance.getUserData() != null) {

changFragment(new UserFragment(), "UserFragment");

} else {

UserLoginFragment mUserLoginFragment = new UserLoginFragment();

FragmentManager fm = getSupportFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

Bundle mBundle = new Bundle();

mBundle.putString("user",UserFragment.class.getSimpleName() );

mUserLoginFragment.setArguments(mBundle);

ft.replace(R.id.llfragment, mUserLoginFragment);

ft.addToBackStack("UserTag");


ft.commit();


}


}


private void eventLoan() {

// TODO Auto-generated method stub

buttonChange(1);

if (MyApplication.instance.getUserData() != null) {

changFragment(new LoanFragment(), "LoanFragment");

} else {

UserLoginFragment mUserLoginFragment = new UserLoginFragment();

FragmentManager fm = getSupportFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

Bundle mBundle = new Bundle();

mBundle.putString("loan", LoanFragment.class.getSimpleName());

mUserLoginFragment.setArguments(mBundle);

ft.replace(R.id.llfragment, mUserLoginFragment);

ft.addToBackStack("LoanTag");

ft.commit();


}


}

跳转到  登录页面的代码(这里代码看你怎么处理就放在那里):


                                               FragmentManager fm;

FragmentTransaction ft;


String mUser = getArguments().getString("user");


String mLoan = getArguments().getString("loan");


if (UserFragment.class.getSimpleName().equals(mUser)) {

UserFragment mUserFragment = new UserFragment();

fm = getFragmentManager();

ft = fm.beginTransaction();


ft.replace(R.id.llfragment, mUserFragment);

ft.addToBackStack("UserTag");

ft.commit();


} else if (LoanFragment.class.getSimpleName().equals(

mLoan)) {

LoanFragment mLoanFragment = new LoanFragment();

fm = getFragmentManager();

ft = fm.beginTransaction();


ft.replace(R.id.llfragment, mLoanFragment);

ft.addToBackStack("LoanTag");

ft.commit();

}


希望帮助到大家。



© 著作权归作者所有

共有 人打赏支持
黎明的星星
粉丝 1
博文 4
码字总数 2229
作品 0
郑州
私信 提问
加载中

评论(1)

s
shrotybin
getChildFragmentManager().popBackStack();这个方法直接返回可行吧
Fragment not attached to Activity 异常

1、关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就...

听雪心情
2014/11/07
0
0
Android 面试技能树梳理

相信大家都有面试的经历,相对比面试官的问的一些问题其实都是基础的知识,但就是一些基础的知识我们也不是很完美的回答出来,我们也知道现在的开发人员很多,一家公司一个岗位就会有很多的开...

liu3364575
05/05
0
0
如何避免使用onActivityResult,以提高代码可读性

问题 Android中,通过startActivityForResult跳转页面获取数据应该不必多说,但是这种所有获取到的结果都需要到onActivityResult中处理的方式实在令人蛋疼。 试想一下,我们敲着代码唱着歌。...

asAnotherJack
01/02
0
0
ViewPager 超详解:玩出十八般花样

ViewPager 超详解:玩出十八般花样 虽然没有 RecyclerView 这种列表控件常用些,但是在开发中你ViewPager 肯定也是不可或缺的控件,引导页、轮播图、卡片画廊等效果总是缺少不了 ViewPager ...

OCNYang
2017/12/11
0
0
Android第四十二天

1、Fragment的简单使用 <1>Fragment:在Activity中使用的碎片,有自己的布局、生命周期和输入事件 <2>使用Fragment的步骤 (1)创建类,并继承Fragment; (2)重写Fragment的onCreateView()生...

黄晓磊
2016/07/26
20
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
38分钟前
1
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
1
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
1
0
利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
昨天
1
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部