亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神解答,利用接口實現Fragment切換,為什么Activity被銷毀了

MainActivity:
@Override
public?void?onClick(View?view)?{
????switch?(view.getId())?{
????????case?R.id.bt_user:
????????????cf.setinitif(new?Interface_ChangeFragment()?{
????????????????@Override
????????????????public?Fragment?initif()?{
????????????????????return?tab_user;
????????????????}

????????????????@Override
????????????????public?int?initTAG()?{
????????????????????return?3;
????????????????}
????????????});
????????????break;
????????case?R.id.bt_find:
????????????cf.setinitif(new?Interface_ChangeFragment()?{
????????????????@Override
????????????????public?Fragment?initif()?{
????????????????????return?tab_found;
????????????????}

????????????????@Override
????????????????public?int?initTAG()?{
????????????????????return?2;
????????????????}
????????????});
????????????break;
????????case?R.id.bt_watchmoive:
????????????cf.setinitif(new?Interface_ChangeFragment()?{
????????????????@Override
????????????????public?Fragment?initif()?{
????????????????????return?tab_watchMoive;
????????????????}

????????????????@Override
????????????????public?int?initTAG()?{
????????????????????return?1;
????????????????}
????????????});
????????????break;
????????case?R.id.bt_selectsong:
????????????cf.setinitif(new?Interface_ChangeFragment()?{
????????????????@Override
????????????????public?Fragment?initif()?{
????????????????????return?tab_selectSong;
????????????????}

????????????????@Override
????????????????public?int?initTAG()?{
????????????????????return?0;
????????????????}
????????????});
????????????break;
????????case?R.id.bt_frist:
????????????break;
????}
????
????
????
????
????
????
????
????
????
????接口的實現了類:
????public?class?ChangeFragment?extends?FragmentActivity?{
????int?TAG;
????Tab_selectSong?tab_selectSong;
????Tab_watchMoive?tab_watchmoive;
????Tab_Found?tab_found;
????Tab_User?tab_user;
????public?void?setinitif(Interface_ChangeFragment?interface_changeFragment)?{
????????FragmentManager?manager?=?getSupportFragmentManager();
????????FragmentTransaction?fts?=?manager.beginTransaction();
????????if?(interface_changeFragment.initif()?==?null)?{
????????????TAG?=?interface_changeFragment.initTAG();
????????????switch?(TAG)?{
????????????????case?0:
???????????????????tab_selectSong?=?new?Tab_selectSong();
????????????????????fts.add(R.id.activity_fragment,tab_selectSong);
????????????????????hideall();
????????????????????fts.show(tab_selectSong);
????????????????????fts.commit();
????????????????????break;
????????????????case?1:
????????????????????tab_watchmoive?=?new?Tab_watchMoive();
????????????????????fts.add(R.id.activity_fragment,tab_watchmoive);
????????????????????hideall();
????????????????????fts.show(tab_watchmoive);
????????????????????fts.commit();
????????????????????break;
????????????????case?2:
????????????????????tab_found?=?new?Tab_Found();
????????????????????fts.add(R.id.activity_fragment,tab_found);
????????????????????hideall();
????????????????????fts.show(tab_found);
????????????????????fts.commit();
????????????????????break;
????????????????case?3:
???????????????????tab_user?=?new?Tab_User();
????????????????????fts.add(R.id.activity_fragment,tab_user);
????????????????????hideall();
????????????????????fts.show(tab_user);
????????????????????fts.commit();
????????????????????break;
????????????}
????????}?else?{
????????????TAG?=?interface_changeFragment.initTAG();
????????????switch?(TAG)?{
????????????????case?0:
????????????????????hideall();
????????????????????fts.show(tab_selectSong);
????????????????????fts.commit();
????????????????????break;
????????????????case?1:
????????????????????hideall();
????????????????????fts.show(tab_watchmoive);
????????????????????fts.commit();
????????????????????break;
????????????????case?2:
????????????????????hideall();
????????????????????fts.show(tab_found);
????????????????????fts.commit();
????????????????????break;
????????????????case?3:
???????????????????hideall();
????????????????????fts.show(tab_user);
????????????????????fts.commit();
????????????????????break;
????????????}

????????}
????}

????private?void?hideall()?{
????????FragmentManager?manager?=?getSupportFragmentManager();
????????FragmentTransaction?fts?=?manager.beginTransaction();
????????if(tab_selectSong!=null)
????????{
????????????fts.hide(tab_selectSong);
????????}
????????if(tab_watchmoive!=null)
????????{
????????????fts.hide(tab_watchmoive);
????????}
????????if(tab_found!=null)
????????{
????????????fts.hide(tab_found);
????????}
????????if(tab_user!=null)
????????{
????????????fts.hide(tab_user);
????????}
????}
}


結果出錯了,Log打印出來是java.lang.IllegalStateException:?Activity?has?been?destroyed

求大神解答為什么???難道不可以這么寫嗎?


正在回答

1 回答

你是主攻java的么,寫得這么費勁。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
多種多樣的App主界面Tab實現方法
  • 參與學習       48916    人
  • 解答問題       204    個

本課程就將講解迄今為止最流行的4種實現Tab的方法

進入課程

求大神解答,利用接口實現Fragment切換,為什么Activity被銷毀了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號