频道管理(我自己的你们看不懂)
来源:互联网 发布:啊哈,算法 豆瓣 编辑:程序博客网 时间:2024/05/16 16:21
判断
//取出标识(onActivityResult)确认是否是第一次点击 boolean addlog = sp.getBoolean("addlog", true); //如果不是 if(!addlog){ //直接取出onActivityResult返回存储在sp中的JSON String addmsg = sp.getString("addmsg", null); //解析JSON字符串 list2 = PindaoJson(addmsg); //调用方法将上下文和list传进去(详情可点进源码查看) ChannelActivity.startChannelActivity(this,list2); }else{ //是第一次点击 //判断beanList是否为空 if(beanList.size() == 0) { //取出原始数据遍历存入ChannelBean bean对象中 for (int i = 0; i < typeAll.length; i++) { ChannelBean bean; //全部存为true if (i < typeAll.length) { bean = new ChannelBean(typeAll[i], true); } else { bean = new ChannelBean(typeAll[i], false); } //添加进集合 beanList.add(bean); } } //调用方法将上下文和list传进去(详情可点进源码查看) ChannelActivity.startChannelActivity(this,beanList); }返回
//回调方法 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); //存一个标识用来判断是否回调过该方法 sp.edit().putBoolean("addlog",false).commit(); //取出回传数据 String json = data.getStringExtra("json"); //存一个标识用来存入返回的json值 sp.edit().putString("addmsg",json).commit(); System.out.println("============json--"+json); //解析json字符串 list2 = PindaoJson(json); //加载横条 inittwohor(list2); } //添加横条的方法 private void inittwohor(List<ChannelBean> list3) { //重置list集合(typeAll2存放名字)(typeId2存放类型) typeAll2 = new ArrayList<>(); typeId2 = new ArrayList<>(); //第二次横条加载 for (int i = 0; i < list3.size(); i++) { //如果list3是选中状态并且对应的Name不为空 if(list3.get(i).isSelect() && !TextUtils.isEmpty(list3.get(i).getName())){ //新的typeAll2集合存放名字 typeAll2.add(list3.get(i).getName()); } } //利用冒泡排序方法找出名字对应的type值 for (int i = 0; i < typeAll2.size(); i++) { for (int j = 0; j < typeAll.length; j++) { String name = typeAll[j]; if(name.equals(typeAll2.get(i)) && !TextUtils.isEmpty(typeId[j])){ //typeId2[num2] = typeId[i]; typeId2.add(typeId[j]); } } } List<CategoryBean> list = new ArrayList<>(); for (int i = 0; i < typeAll2.size(); i++) { CategoryBean bean = new CategoryBean(); bean.name = typeAll2.get(i); bean.id = typeId2.get(i); list.add(bean); } //创建Fragment类型集合 List<Fragment> listfragment = new ArrayList<>(); //for循环对应 for (int i = 0; i <typeId2.size() ; i++) { //将TopFragment实例化出来 Fragment1 top=new Fragment1(); //初始化Bundle(存储数据用和map相似) Bundle bundle=new Bundle(); bundle.putString("type",typeId[i]); //activity之间传输数据用 top.setArguments(bundle); //添加相应的Fragment listfragment.add(top); } hor_scollTabhost.diaplay(list, listfragment); } private List<ChannelBean> PindaoJson(String json) { //解析json Gson gson = new Gson(); List<ChannelBean> list2 = gson.fromJson(json,new TypeToken<List<ChannelBean>>(){} .getType()); //返回一个泛型是ChannelBean的list集合 return list2; }
阅读全文
0 0
- 频道管理(我自己的你们看不懂)
- 频道管理(自己的)
- 你们这些人看不懂我拍的电影吧,你们这些傻X
- 我写给自己的你们不要看
- 频道管理(简单的添加、删除)
- 简单的频道管理(第一步)
- 我的博客频道
- 陈凯歌曾说,《无极》你们现在看不懂,以后你们会明白的!
- 我看不懂
- 创建自己的PEAR频道
- 看不懂的windows电源管理选项。
- 我检测的优盘结果看不懂啊。。。
- 为什么我看不懂你的代码
- Apple 一个我越发看不懂的公司
- 为什么我看不懂你的代码
- 你们都不开源,我自己写,开源我的线激光标定C++代码
- 频道管理的main方法
- 频道管理的简单使用
- Http协议
- 《C++ Concurrency in Action》笔记16 future
- direct_sparse
- 第三周项目4.2
- Lintcode字符串查找
- 频道管理(我自己的你们看不懂)
- php操作redis--增删改查 来一套
- HDU 5536 Chip Factory(暴力+优化)
- 图片实现水平垂直居中
- 洛谷Oj-FBI树-树的后序遍历
- Java面试题一
- 抽象类和接口
- DAO层注入HibernateTemplate的两种方式
- Keyboard Row