【目的】通过点击左侧侧滑栏的三个按钮,分别用不同的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 的错误。
添加回答
举报
0/150
提交
取消