为了账号安全,请及时绑定邮箱和手机立即绑定

Android replace Fragment时的问题

Android replace Fragment时的问题

梦里花落0921 2019-03-12 13:15:04
【目的】通过点击左侧侧滑栏的三个按钮,分别用不同的Fragment替换当前的Fragment【代码】public void leftMenuFragmentOnClickEvent(int id) {        DrawerLayout drawer_layout = (DrawerLayout) findViewById(R.id.drawer_layout);        switch (id){            case R.id.btn_one:                TabsFragment newFragment;                newFragment = (TabsFragment) fm.findFragmentById(R.id.content_frame);                fm.beginTransaction().replace(R.id.content_frame,newFragment).commit();                drawer_layout.closeDrawer(GravityCompat.START);                break;            case R.id.btn_two:                TabsFragment newFragment2 = new TabsFragment();                fm.beginTransaction().replace(R.id.content_frame,newFragment2).commit();                drawer_layout.closeDrawer(GravityCompat.START);                break;            case R.id.btn_three:                AnotherTabsFragment anotherTabsFragment = new AnotherTabsFragment();                fm.beginTransaction().replace(R.id.content_frame,anotherTabsFragment).commit();                drawer_layout.closeDrawer(GravityCompat.START);                break;        }    }【问题】图一是点击第二个按钮前的正常界面。图二是点击第二个按钮后的界面,上面的Tag不见了。为什么?【补充】如果btn_two的点击处理和btn_one一样没有任何问题,但是btn_three使用的是另一种fragment,这时如果还使用完全一样的代码,就会出现cannot be cast to fragment.AnotherTabsFragment 的错误。
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

你应该是把tag也放进要替换的布局里面了,注意把tag独立出来


查看完整回答
反对 回复 2019-04-18
?
大话西游666

TA贡献1817条经验 获得超14个赞

你是把你Activity的界面分成上下2个部分,上面放3个tag,下面用来显示fragment的?


查看完整回答
反对 回复 2019-04-18
  • 2 回答
  • 0 关注
  • 599 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号