anroid activity fragment的使用

废话不说直接上代码  若有疑问可以留言 随时回复

public class MainActivity extends InstrumentedActivity {//implements OnClickListener

   private Button mInit;
   private Button mSetting;
   private Button mStopPush;
   private Button mResumePush;
   private Button mGetRid;
   private TextView mRegId;
   private EditText msgText;

   @BindView(R.id.frame)
   FrameLayout frameLayout;

   ApplyListFragment applyListFragment;
   FriendListFragment friendListFragment;
   MineFragment mineFragment;


   FragmentManager fragmentManager;
   FragmentTransaction fragmentTransaction;

   List<LinearLayout> list_lin=new ArrayList<>();
   List<ImageView> list_img=new ArrayList<>();
   List<TextView> list_tv=new ArrayList<>();

   int[] imag_l={R.drawable.shy_l,R.drawable.zht_l,R.drawable.mine_l};
   int[] imag_b={R.drawable.shy_b,R.drawable.zht_b,R.drawable.mine_b};

   public static boolean isForeground = false;
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      ButterKnife.bind(this);

      list_lin.add((LinearLayout) findViewById(R.id.lin_sh));
      list_lin.add((LinearLayout) findViewById(R.id.lin_zh));
      list_lin.add((LinearLayout) findViewById(R.id.lin_wo));
      list_img.add((ImageView) findViewById(R.id.img_sh));
      list_img.add((ImageView) findViewById(R.id.img_zh));
      list_img.add((ImageView) findViewById(R.id.img_wo));
      list_tv.add((TextView) findViewById(R.id.tv_sh));
      list_tv.add((TextView) findViewById(R.id.tv_zh));
      list_tv.add((TextView) findViewById(R.id.tv_wo));

      applyListFragment=new ApplyListFragment();

      fragmentManager=getFragmentManager();
      fragmentTransaction=fragmentManager.beginTransaction();
      fragmentTransaction.add(R.id.frame,applyListFragment);
      fragmentTransaction.commit();

      //initView();   
      //registerMessageReceiver();  // used for receive msg
      //init();
   }
   


   public void fragment_Manager(int pos){
      fragmentTransaction=fragmentManager.beginTransaction();
      img_type(pos);
      hideFragments(fragmentTransaction,pos);

      if(pos==0){
         if(applyListFragment==null){
            applyListFragment=new ApplyListFragment();
            fragmentTransaction.add(R.id.frame,applyListFragment);
         }else {
            fragmentTransaction.show(applyListFragment);
         }
      }else if(pos==1){
         if(friendListFragment==null){
            friendListFragment=new FriendListFragment();
            fragmentTransaction.add(R.id.frame,friendListFragment);
         }else {
            fragmentTransaction.show(friendListFragment);
         }
      }else if(pos==2){
         if(mineFragment==null){
            mineFragment=new MineFragment();
            fragmentTransaction.add(R.id.frame,mineFragment);
         }else {
            fragmentTransaction.show(mineFragment);
         }
      }

      fragmentTransaction.commit();
   }

    public void img_type(int pos){
      for (int i=0;i<3;i++){
         if(i==pos){
            list_img.get(i).setImageResource(imag_l[i]);
            list_tv.get(i).setTextColor(0xff15B9AE);
         }else {
            list_img.get(i).setImageResource(imag_b[i]);
            list_tv.get(i).setTextColor(0xff727272);
         }
      }
   }

   private void hideFragments(FragmentTransaction fragmentTransaction,int pos) {
      if(mineFragment != null)
         fragmentTransaction.hide(mineFragment);
      if(friendListFragment != null)
         fragmentTransaction.hide(friendListFragment);
      if(applyListFragment != null)
         fragmentTransaction.hide(applyListFragment);
   }


   @OnClick({R.id.lin_sh,R.id.lin_zh,R.id.lin_wo})
   public void OnClick(View v){
      switch (v.getId()){
         case R.id.lin_sh:
            fragment_Manager(0);
            break;
         case R.id.lin_zh:
            fragment_Manager(1);
            break;
         case R.id.lin_wo:
            fragment_Manager(2);
            break;

      }
   }

}

猜你喜欢

转载自blog.csdn.net/qq_36355271/article/details/86306625