用于Fragment的切换与跳转
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zhu);
//默认进入的fragment
if (Home ==null){
Home =new HomeFragment();
}
Chagefragment(Home);
}
//切换Fragment
public void Chagefragment(Fragment fr){
//得到fragment管理类
FragmentManager manager=getSupportFragmentManager();
//得到事物
FragmentTransaction replace = manager.beginTransaction();
//隐藏之前添加的Fragment
if (fragment2 != null) {
replace.hide(fragment2);
}
//判断此fragment是否添加过
if (!fr.isAdded()) {
//如果没有就添加
replace.add(R.id.mylin, fr);
} else {
//添加了就直接显示
replace.show(fr);
}
//提交
replace.commit();
//记录当前Fragent
fragment2 = fr;
}
//点击图片监听切换
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.home_my:
if (My ==null){
My = new MyFragment();
}
Chagefragment(My);
break;
case R.id.home_search:
if (seach ==null){
seach =new SeachFragment();
}
Chagefragment(seach);
break;
case R.id.home_home:
if (Home ==null){
Home =new HomeFragment();
}
Chagefragment(Home);
break;
case R.id.home_map:
if (Map ==null){
Map =new MapFragment();
}
Chagefragment(Map);
break;
case R.id.home_more:
if (More ==null){
More =new MoreFragment();
}
Chagefragment(new MoreFragment());
break;
}
}
BaseActivity的跳转方法和返回按钮公共方法
//跳转页面
public void startActivity(Class<?> openClass, Bundle bundle) {
Intent intent = new Intent(this, openClass);
if (null != bundle)
intent.putExtras(bundle);
startActivity(intent);
this.overridePendingTransition(R.anim.leftin,R.anim.leftout);
}
//标题
public void Head(){
back =(ImageView)findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});