Fragment的切换
2016-05-30 17:12
148 查看
manager = getSupportFragmentManager();
FragmentTransaction beginTransaction = manager.beginTransaction();
shouyeFragment = new ShouyeFragment();
readFragment = new ReadFragment();
woFragment = new WoFragment();
// menuFragment = new MenuFragment();
baseFragment = new BaseFragment() ;
// @Override
// public String getTitle() {
// // TODO Auto-generated method stub
// return null;
//// }
beginTransaction.add(R.id.fl_home, shouyeFragment, "shouye");
beginTransaction.add(R.id.fl_home, readFragment, "read");
beginTransaction.add(R.id.fl_home, woFragment, "wo");
beginTransaction.hide(readFragment);
beginTransaction.hide(woFragment);
beginTransaction.commit();
}
@Override
public void onClick(View v) {
FragmentTransaction beginTransaction = manager.beginTransaction();
int id = v.getId();
switch (id) {
case R.id.rb_shouye:
// beginTransaction.replace(R.id.fl_home, shouyeFragment,
// "shouyeFragment");
beginTransaction.show(shouyeFragment);
beginTransaction.hide(readFragment);
beginTransaction.hide(woFragment);
break;
case R.id.rb_read:
// beginTransaction
// .replace(R.id.fl_home, readFragment, "readFragment");
beginTransaction.show(readFragment);
beginTransaction.hide(shouyeFragment);
beginTransaction.hide(woFragment);
break;
case R.id.rb_wo:
// beginTransaction.replace(R.id.fl_home, woFragment, "woFragment");
beginTransaction.show(woFragment);
beginTransaction.hide(shouyeFragment);
beginTransaction.hide(readFragment);
break;
default:
break;
}
beginTransaction.commit();
}
public class ReadFragment extends Fragment implements OnClickListener {
private View view;
private TextView tv_read_tuijian;
private TextView tv_read_dingyue;
private ViewPager vp_read;
private Read_Tuijian_Fragment tuijian_Fragment;
private Read_Dingyue_Fragment dingyue_Fragment;
private FragmentManager manager;
private List<Fragment> list;
private TextView[] tvs;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.read_fragment, container, false);
// 找控件
findView();
tv_read_tuijian.setOnClickListener(this);
tv_read_dingyue.setOnClickListener(this);
tvs = new TextView[] { tv_read_tuijian, tv_read_dingyue };
tuijian_Fragment = new Read_Tuijian_Fragment();
dingyue_Fragment = new Read_Dingyue_Fragment();
list = new ArrayList<Fragment>();
list.add(tuijian_Fragment);
list.add(dingyue_Fragment);
tv_read_tuijian.setTextColor(Color.WHITE);
// 为vp_read设置适配器
vp_read.setAdapter(new FragmentPagerAdapter(this.getChildFragmentManager()) {
@Override
public int getCount() {
return list.size();
}
@Override
public Fragment getItem(int arg0) {
return list.get(arg0);
}
});
vp_read.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < tvs.length; i++) {
if (i == arg0) {
tvs[i].setTextColor(Color.WHITE);
} else {
tvs[i].setTextColor(Color.GRAY);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
return view;
}
private void findView() {
tv_read_tuijian = (TextView) view.findViewById(R.id.tv_read_tuijian);
tv_read_dingyue = (TextView) view.findViewById(R.id.tv_read_dingyue);
vp_read = (ViewPager) view.findViewById(R.id.vp_read);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.tv_read_tuijian:
vp_read.setCurrentItem(0);
break;
case R.id.tv_read_dingyue:
vp_read.setCurrentItem(1);
break;
default:
break;
}
}
}
FragmentTransaction beginTransaction = manager.beginTransaction();
shouyeFragment = new ShouyeFragment();
readFragment = new ReadFragment();
woFragment = new WoFragment();
// menuFragment = new MenuFragment();
baseFragment = new BaseFragment() ;
// @Override
// public String getTitle() {
// // TODO Auto-generated method stub
// return null;
//// }
beginTransaction.add(R.id.fl_home, shouyeFragment, "shouye");
beginTransaction.add(R.id.fl_home, readFragment, "read");
beginTransaction.add(R.id.fl_home, woFragment, "wo");
beginTransaction.hide(readFragment);
beginTransaction.hide(woFragment);
beginTransaction.commit();
}
@Override
public void onClick(View v) {
FragmentTransaction beginTransaction = manager.beginTransaction();
int id = v.getId();
switch (id) {
case R.id.rb_shouye:
// beginTransaction.replace(R.id.fl_home, shouyeFragment,
// "shouyeFragment");
beginTransaction.show(shouyeFragment);
beginTransaction.hide(readFragment);
beginTransaction.hide(woFragment);
break;
case R.id.rb_read:
// beginTransaction
// .replace(R.id.fl_home, readFragment, "readFragment");
beginTransaction.show(readFragment);
beginTransaction.hide(shouyeFragment);
beginTransaction.hide(woFragment);
break;
case R.id.rb_wo:
// beginTransaction.replace(R.id.fl_home, woFragment, "woFragment");
beginTransaction.show(woFragment);
beginTransaction.hide(shouyeFragment);
beginTransaction.hide(readFragment);
break;
default:
break;
}
beginTransaction.commit();
}
public class ReadFragment extends Fragment implements OnClickListener {
private View view;
private TextView tv_read_tuijian;
private TextView tv_read_dingyue;
private ViewPager vp_read;
private Read_Tuijian_Fragment tuijian_Fragment;
private Read_Dingyue_Fragment dingyue_Fragment;
private FragmentManager manager;
private List<Fragment> list;
private TextView[] tvs;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.read_fragment, container, false);
// 找控件
findView();
tv_read_tuijian.setOnClickListener(this);
tv_read_dingyue.setOnClickListener(this);
tvs = new TextView[] { tv_read_tuijian, tv_read_dingyue };
tuijian_Fragment = new Read_Tuijian_Fragment();
dingyue_Fragment = new Read_Dingyue_Fragment();
list = new ArrayList<Fragment>();
list.add(tuijian_Fragment);
list.add(dingyue_Fragment);
tv_read_tuijian.setTextColor(Color.WHITE);
// 为vp_read设置适配器
vp_read.setAdapter(new FragmentPagerAdapter(this.getChildFragmentManager()) {
@Override
public int getCount() {
return list.size();
}
@Override
public Fragment getItem(int arg0) {
return list.get(arg0);
}
});
vp_read.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < tvs.length; i++) {
if (i == arg0) {
tvs[i].setTextColor(Color.WHITE);
} else {
tvs[i].setTextColor(Color.GRAY);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
return view;
}
private void findView() {
tv_read_tuijian = (TextView) view.findViewById(R.id.tv_read_tuijian);
tv_read_dingyue = (TextView) view.findViewById(R.id.tv_read_dingyue);
vp_read = (ViewPager) view.findViewById(R.id.vp_read);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.tv_read_tuijian:
vp_read.setCurrentItem(0);
break;
case R.id.tv_read_dingyue:
vp_read.setCurrentItem(1);
break;
default:
break;
}
}
}
相关文章推荐
- IOS 开发中的KVC 和KVO
- Win7刷新环境变量
- std::ios::sync_with_stdio(false);
- 图片不存在时,显示一个默认的图片
- 只因路不同 —— 我选择了做一个程序员
- 快速排序递归与非递归代码实现与思考
- 【学习】正则表达式
- 首页 > 精品文库 > java.io.FileNotFoundException:文件名、目录名或卷标语法不正确 java.io.FileNotFoundException:文件名、目录名或卷标语
- 06-图2 Saving James Bond - Easy Version
- 字典结构及借助顺序表的实现
- 【C语言 】用C语言实现乘法口诀表
- 用C语言编写:求10 个整数中最大值
- 【C语言】给定两个整型变量的值,将两个值的内容进行交换(不同方法)
- 【C语言】编写函数实现:100-200素数的输出
- saltstack
- linux基础命令之sed
- 判断数组内容是否有重复数据(通过哈希)
- 《c++primer 》string *pstr = new string; *pstr = str;的疑问
- JS学习20(高级技巧)
- LRU缓存实现(Java)