class RBOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
FragmentManager fm = getFragmentManager();
// 开启Fragment事务
FragmentTransaction transaction = fm.beginTransaction();
int id = v.getId();
if(id == currentFragmentIndex) return;
Fragment currentFrament = fm.findFragmentByTag(currentFragmentTag);
switch (id) {
case R.id.rb_tv_live:
if(tvLiveFragment == null) {
tvLiveFragment = new TvLiveFragment(0);
}
if(tvLiveFragment.isAdded()) {
transaction.hide(currentFrament).show(tvLiveFragment);
}else {
transaction.hide(currentFrament).add(R.id.main_content, tvLiveFragment, "tvLive");
}
currentFragmentTag = "tvLive";
//transaction.replace(R.id.main_content, tvLiveFragment);
break;
case R.id.rb_video:
if(videoFragment == null) {
videoFragment = new VideoFragment(1);
}
if(videoFragment.isAdded()) {
transaction.hide(currentFrament).show(videoFragment);
}else {
transaction.hide(currentFrament).add(R.id.main_content, videoFragment, "video");
}
currentFragmentTag = "video";
break;
case R.id.rb_gif:
//gifFragment = new TvLiveFragment(2);
//transaction.replace(R.id.main_content, gifFragment);
break;
case R.id.rb_information:
if(newsFragment == null) {
newsFragment = new NewsFragment(3);
}
if(newsFragment.isAdded()) {
transaction.hide(currentFrament).show(newsFragment);
}else {
transaction.hide(currentFrament).add(R.id.main_content, newsFragment, "news");
}
currentFragmentTag = "news";
break;
case R.id.rb_shop:
//shopFragment = new TvLiveFragment(4);
//transaction.replace(R.id.main_content, shopFragment);
break;
}
currentFragmentIndex = id;
transaction.commit();
mToolbar.setTitle(((RadioButton) v).getText().toString());
mDrawerLayout.closeDrawers();
}
}
Fragment切换
最新推荐文章于 2022-11-17 21:51:10 发布