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

安卓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();

}


希望帮助到大家。



转载于:https://my.oschina.net/u/2277819/blog/491208

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值