package com.lbp.demo9; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; import com.lbp.demo9.frag.Fragment1; import com.lbp.demo9.frag.Fragment2; import com.lbp.demo9.frag.Fragment3; import com.lbp.demo9.frag.Fragment4; import com.lbp.demo9.frag.Fragment5; import com.lbp.demo9.util.GetNetUtils; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Fragment> listfragment = new ArrayList<>(); private FragmentManager manager; private Fragment1 f1; private Fragment2 f2; private Fragment3 f3; private Fragment4 f4; private Fragment5 f5; private List<String> list; private ListView lv_drawer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getNet(); initData(); lv_drawer = (ListView) findViewById(R.id.lv_drawer); lv_drawer.setAdapter(new MyAdapter()); RadioGroup rg = (RadioGroup) findViewById(R.id.rg); f1 = new Fragment1(); manager = getSupportFragmentManager(); manager.beginTransaction().add(R.id.fl, f1).commit(); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { hideFragment(); switch (i){ case R.id.rb1: manager.beginTransaction().show(f1).commit(); break; case R.id.rb2: if(f2==null){ f2 = new Fragment2(); manager.beginTransaction().add(R.id.fl,f2).commit(); }else{ manager.beginTransaction().show(f2).commit(); } break; case R.id.rb3: if(f3==null){ f3 = new Fragment3(); manager.beginTransaction().add(R.id.fl,f3).commit(); }else{ manager.beginTransaction().show(f3).commit(); } break; case R.id.rb4: if(f4==null){ f4 = new Fragment4(); manager.beginTransaction().add(R.id.fl,f4).commit(); }else{ manager.beginTransaction().show(f4).commit(); } break; case R.id.rb5: if(f5==null){ f5 = new Fragment5(); manager.beginTransaction().add(R.id.fl,f5).commit(); }else{ manager.beginTransaction().show(f5).commit(); } break; } } }); } public void getNet() { int i = GetNetUtils.getnet(MainActivity.this); if(i!=-1){ initTo(); } else { Toast.makeText(MainActivity.this,"没有网络请检查",Toast.LENGTH_SHORT).show(); } } private void initTo() { Toast.makeText(MainActivity.this,"有网请使用",Toast.LENGTH_SHORT).show(); } class MyAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if(view==null){ view = View.inflate(MainActivity.this, R.layout.item, null); } TextView tv = view.findViewById(R.id.tv); tv.setText(list.get(i)); return view; } } private void initData() { list = new ArrayList<>(); list.add("第一个"); list.add("第二个"); list.add("第三个"); list.add("第四个"); } private void hideFragment() { if(f1!=null&&f1.isAdded()){ getSupportFragmentManager().beginTransaction().hide(f1).commit(); } if(f2!=null&&f2.isAdded()){ getSupportFragmentManager().beginTransaction().hide(f2).commit(); } if(f3!=null&&f3.isAdded()){ getSupportFragmentManager().beginTransaction().hide(f3).commit(); } if(f4!=null&&f4.isAdded()){ getSupportFragmentManager().beginTransaction().hide(f4).commit(); } if(f5!=null&&f5.isAdded()){ getSupportFragmentManager().beginTransaction().hide(f5).commit(); } } }
Fragment隐藏和显示和抽屉与判断网络
最新推荐文章于 2021-05-26 08:01:09 发布