public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{

    private XListView xlv;
   ;
    private boolean flag;
    private MyBaseadapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn=3
        xlv = (XListView) findViewById(R.id.listview);
        xlv.setPullLoadEnable(true);
        xlv.setXListViewListener(this);
        data();
    }
    public void data(){
        jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn="+page+"");
    }

    public void jiexi(String path){
        new AsyncTask<String, Void, String>() {
            @Override
            protected void onPostExecute(String s) {

                if (s!=null){
                    Gson gson=new Gson();
                    Bean bean = gson.fromJson(s, Bean.class);
                    List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
                   // MyBaseadapter adapter= new MyBaseadapter(MainActivity.this, list);
                    if(adapter == null) {
                        adapter = new MyBaseadapter(MainActivity.this,list);
                        //3.将数据映射到ListView
                        xlv.setAdapter(adapter);
                    }else{
                        //将获取到的新数据添加到原来与adapter绑定集合里面
                        adapter.sss(list,flag);

                    }
                }
            }

            @Override
            protected String doInBackground(String... params) {
                try {
                    URL url=]);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout();
                    connection.setConnectTimeout();
                    int code = connection.getResponseCode();
                    ){
                        InputStream is = connection.getInputStream();
                        return  StreamTools.readFromNetWork(is);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
        }.execute(path);

    }

    @Override
    public void onRefresh() {
        flag=false;
        ++page;
        data();
        xlv.stopRefresh(true);
    }

    @Override
    public void onLoadMore() {
        flag=true;
        ++page;
        data();
        xlv.stopLoadMore();
    }
}

MainActivity的一些方法是生成的重点注意第一行要实现Xlistview.IXListViewListener

public class MyBaseadapter extends BaseAdapter {
    private List<Bean.ResultBean.DataBean> list;
    private Context context;
    public MyBaseadapter(Context context,List<Bean.ResultBean.DataBean> list){
        this.context=context;
        this.list=list;

    }
    public void sss(List<Bean.ResultBean.DataBean> data, boolean flag){
        for (Bean.ResultBean.DataBean s: data) {
            if (flag){
                list.add(s);
            }else{
                list.add(,s);
            }

        }
          notifyDataSetChanged();
    }
    @Override
    public int getCount() {
        ;
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView=View.inflate(context,R.layout.item,null);
        ImageView image= (ImageView) convertView.findViewById(R.id.image);
        TextView tv= (TextView) convertView.findViewById(R.id.tv);
        tv.setText(list.get(position).getTitle());
        ImageLoader.getInstance().displayImage(list.),image,MyAppliction.getDiskImageoptoins());
        return convertView;
    }
}

还有几个类就不写了,不懂得看上一篇,imageloader那里面有

MyApplication是imageloader的一些代码,Bean,gson解析类

Xlistview_聚合菜谱大全数据的更多相关文章

  1. 从聚合数据请求菜谱大全接口数据,解析显示到ListView

  2. 微信小程序项目实战 - 菜谱大全

    1. 项目简介 最近研究小程序云开发,上线了一个有关菜品查询的小程序.包括搜索.分享转发.收藏.查看历史记录等功能.菜谱 API 来自聚合数据.云开发为开发者提供完整的云端支持,弱化后端和运维概念,无 ...

  3. MySQL聚合函数与数据分组

    我们最常需要的是汇总数据而不是把他们实际检索出来 确定表中行数(或满足某个条件或包含某个特定值的行数) 确定表中行组的和 找出表列(或所有行或特定列)的最大值,最小值和平均值 聚集函数是运行在行组上, ...

  4. 9.hive聚合函数,高级聚合,采样数据

    本文主要使用实例对Hive内建的一些聚合函数.分析函数以及采样函数进行比较详细的讲解. 一.基本聚合函数 数据聚合是按照特定条件将数据整合并表达出来,以总结出更多的组信息.Hive包含内建的一些基本聚 ...

  5. pandas:聚合统计、数据分箱、分组可视化

    1.聚合统计 1.1描述统计 #df.describe(),对数据的总体特征进行描述 df.groupby('team').describe() df.groupby('team').describe ...

  6. JAVA Rest High Level Client如何取聚合后得数据

    对于刚刚学习es的童鞋来说,很容易不清楚怎么获取客户端对es文档的聚合结果,下面就演示一下模仿DSL写聚合,然后获取到聚合对结果. 一, 对于下面这个简单的聚合,目的是对于文档全文匹配,聚合颜色字段. ...

  7. pandas使用大全--数据与处理

    1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd 导入CSV或者xlsx文件: df = pd. ...

  8. 第116天: Ajax运用artTemplate实现菜谱

    Ajax运用artTemplate实现菜谱 一.获取接口数据 1.聚合数据API    https://www.juhe.cn,在这上面找到菜谱大全数据接口文档 具体使用是这样的: key后面的数据是 ...

  9. 《利用python进行数据分析》读书笔记--第九章 数据聚合与分组运算(一)

    http://www.cnblogs.com/batteryhp/p/5046450.html 对数据进行分组并对各组应用一个函数,是数据分析的重要环节.数据准备好之后,通常的任务就是计算分组统计或生 ...

随机推荐

  1. vue中v-model的数据双向绑定(重要)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 浅谈labviEW定时器

    Labview提供了五种定时器:普通定时器3种: Tick Count (ms). Wait(ms).Wait Until Next ms  Multipule(等待下一个毫秒的整数倍) API函数定 ...

  3. Java基础之回味finally

    平时大家try…catch…finally语句用的不少,知道finally块一定会在try…catch..执行结束时执行,但是具体是在什么时候执行呢,今天我们一起来看下. public static ...

  4. 数据结构与算法---线索化二叉树(Threaded BinaryTree)

    先看一个问题 将数列 {1, 3, 6, 8, 10, 14  } 构建成一颗二叉树 问题分析: 当我们对上面的二叉树进行中序遍历时,数列为 {8, 3, 10, 1, 6, 14 } 但是 6, 8 ...

  5. C语言指针专题——指针怎么就很灵活?

    最近在研读 C Primer pkus(第五版)中文版,老外写的还是很经典的,推荐给朋友们,购买地址:C primer plus 5版中文版购买 另外再推荐两本书: 1. 2017年9月全国计算机二级 ...

  6. 《ElasticSearch6.x实战教程》之简单的API

    第三章-简单的API 万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API. 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl ...

  7. Samba与nfs与ftp

    Samba服务 samba是一个网络服务器,用于Linux和Windows之间共享文件. samba端口号 samba (启动时会预设多个端口) 数据传输的TCP端口 139.445 进行NetBIO ...

  8. Java中的单例模式(Singleton Pattern in Java)

    Introduction 对于系统中的某个类来说,只有一个实例是很重要的,比如只有一个timer和ID Producer.又比如在服务器程序中,配置信息保留在一个文件中,这些配置信息由一个单例对象统一 ...

  9. Scrapy爬虫框架与常用命令

    07.08自我总结 一.Scrapy爬虫框架 大体框架 2个桥梁 二.常用命令 全局命令 startproject 语法:scrapy startproject <project_name> ...

  10. [leetcode] 111.Mininum Depth of Binary Tree (Easy)

    原题 寻找二叉树最短深度 这里用了dfs,beat 100%,4ms class Solution { public: int minDepth(TreeNode *root, int minNum ...