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
求大神解答為什么???難道不可以這么寫嗎?
2016-12-24
你是主攻java的么,寫得這么費勁。