Fragment跳转到activity,然后返回到fragment并且刷新该页面(activity跳转Fragment)

在Activity中做跳转,也即Intent intent=new Intent(Activity.this, MainLingActivity.class);
            intent.putExtra("is_back", "1");

            startActivity(intent);

带上参数,跳转,如上代码。

然后在Fragment中重新onNewIntent方法,在onNewIntent方法下面做判断就行了

 protected void onNewIntent(Intent intent) {
         if(intent.getStringExtra("is_back").equals("null")||intent.getStringExtra("is_back").equals("0")){

             FragmentManager fm=getSupportFragmentManager();
             FragmentTransaction ft=fm.beginTransaction();
             v1=new View1();
             ft.replace(R.id.home_layout, v1,MainLingActivity.TAG);
             ft.commitAllowingStateLoss();

             setChageok(img1, text1);
             setChageno(img2, text2);
             setChageno(img3, text3);
             setChageno(img4, text4);
             }else if(intent.getStringExtra("is_back").equals("1")){
                 FragmentManager fm=getSupportFragmentManager();
                 FragmentTransaction ft=fm.beginTransaction();
                 v3=new View3();
                 ft.replace(R.id.home_layout, v3,MainLingActivity.TAG);
                 ft.commitAllowingStateLoss();
                  setChageno(img1, text1);
                 setChageno(img2, text2);
                 setChageok(img3, text3);
                 setChageno(img4, text4);
             }
    };

如上代码,切记 不能用ft.commit,会报错的,此处应该使用commitAllowingStateLoss();

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值