fragement的循环添加
来源:互联网 发布:linux 发送arp包 编辑:程序博客网 时间:2024/05/22 06:57
fragment的循环添加
···mainactivity类
private RadioButton rb1;
private RadioButton rb2;
private RadioButton rb3;
private RadioButton rb4;
private RadioGroup rg;
private ArrayList<Fragment> fragments = new ArrayList<>();
private LinearLayout lin_act;
private int index = 0;
private void initData() {
Mainpresenter mainpresenter = new Mainpresenter();
mainpresenter.Attchview(this);
mainpresenter.getData();
}
//加载视图
private void initView() {
lin_act = (LinearLayout) findViewById(R.id.lin_act);
rb1 = (RadioButton) findViewById(R.id.rb1);
rb2 = (RadioButton) findViewById(R.id.rb2);
rb3 = (RadioButton) findViewById(R.id.rb3);
rb4 = (RadioButton) findViewById(R.id.rb4);
rg = (RadioGroup) findViewById(R.id.rg);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId) {
case R.id.rb1:
index = 0;
break;
case R.id.rb2:
index = 1;
break;
case R.id.rb3:
index = 2;
break;
case R.id.rb4:
index = 3;
break;
}
showFragment(index);
}
});
}
/**
* eventbus的事件订阅者处理事件
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void writeEventBus(){
}
@Override
public void CallBackFragments(ArrayList<Fragment> fragments) {
this.fragments = fragments;
addFragment(fragments);
showFragment(index);
}
private void showFragment(int index) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
for (int i = 0; i < fragments.size(); i++) {
transaction.hide(fragments.get(i));
}
transaction.show(fragments.get(index));
transaction.commit();
}
private void addFragment(ArrayList<Fragment> fragments) {
for (int i = 0; i < fragments.size(); i++) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.lin_act, fragments.get(i));
transaction.commit();
}
}
···另一个类
public class Mainpresenter extends BasePresenter<MainView> {
private ArrayList<Fragment> fragments;
public void getData() {
//四个fragment
CartFragment cartFragment = new CartFragment();
ClassifyFragment classifyFragment = new ClassifyFragment();
HomeFragment homeFragment = new HomeFragment();
MeFragment meFragment = new MeFragment();
fragments = new ArrayList<>();
fragments.add(homeFragment);
fragments.add(classifyFragment);
fragments.add(cartFragment);
fragments.add(meFragment);
getAttchview().CallBackFragments(fragments);
}
}
- fragement的循环添加
- Android Fragement学习笔记(二)----Fragement界面添加和管理
- 处理fragement的生命周期
- 处理fragement的生命周期
- fragement的生命周期
- fragement的生命周期
- 处理fragement的生命周期
- Fragement真正的解析
- Fragement的使用
- Fragement的使用
- Fragement的使用
- Fragement的基本用法
- 处理fragement的生命周期
- Android | Fragement的onCreateView
- Fragement
- fragement
- Fragement
- Fragement
- (转)《2017中国人工智能创新公司50强》榜单
- MySQL存储过程学习笔记
- CNN目标检测(一):Faster RCNN详解
- 第二天
- spring+mybatis出现 An attempt by a client to checkout a Connection has timed out
- fragement的循环添加
- 2017-7-11 ie浏览器的问题
- ThinkPHP多字段匹配模糊查询
- 快速幂取模
- 对OpenGLES中VBO与VAO的理解
- Codeforces 193B
- xcode编译代码到非测试机
- HashMap简单分析
- python的对象