1. 程式人生 > >Fragment通過hide、show實現動態切換

Fragment通過hide、show實現動態切換

簡單實現XML佈局,建立Fragment,找控制元件,例項化物件,對於大家來說都是小kiss了

最核心的程式碼  showFragment() 

//   展示Fragment
    private void showFragment(Fragment fragment){
        if (currentFragment != fragment){//  判斷傳入的fragment是不是當前的currentFragmentgit
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.hide(currentFragment);//  不是則隱藏
            currentFragment = fragment;  //  然後將傳入的fragment賦值給currentFragment
            if (!fragment.isAdded()){ //  判斷傳入的fragment是否已經被add()過
                transaction.add(R.id.frameLayout,fragment).show(fragment).commit();
            }else{
                transaction.show(fragment).commit();
            }
        }
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.tuijian:
                showFragment(tuijian);
                break;
            case R.id.duanzi:
                showFragment(duanzi);
                break;
            case R.id.video:
                showFragment(video);
                break;
        }
    }