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. 02(e)多元无约束优化问题- 梯度的两种求解方法以及有约束转化为无约束问题

    2.1 求解梯度的两种方法 以$f(x,y)={{x}^{2}}+{{y}^{3}}$为例,很容易得到: $\nabla f=\left[ \begin{aligned}& \frac{\pa ...

  2. python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

    简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...

  3. TCP/IP协议-网络编程

    本文转载自公众号“呆呆熊一点通”,作者:呆呆 开篇语 前两年, 就买了<TCP/IP网络编程>这本书, 由于自身基础薄弱, 只是走马观花翻阅了几张. 后来工作了这些年, 越来越感到瓶颈期已 ...

  4. javascript案例之照片墙

    效果图: ----------------------------------------------------------------------------------------------- ...

  5. 个人永久性免费-Excel催化剂功能第96波-地图数据挖宝之全国天气查询(区域最细可到区县,最长预报4天)

    天气预报的信息,是很普通的大家习以为常的信息,但如果不进行采集,在日常数据分析过程中,就少了非常重要的一个分析维度,如果人手采集整理,工作量巨大.此篇给广大数据分析工作者再次减负,只需简单一键,即可批 ...

  6. 个人永久性免费-Excel催化剂功能第23波-非同一般地批量拆分工作表

    工作薄的合并,许多Excel插件已有提供,Excel催化剂也提供了最佳的解决方案,另外还有工作薄的拆分和工作表的拆分,同样也是各大插件必备功能. 至于工作薄拆分,那是伪需求,Excel催化剂永远只会带 ...

  7. android实现倒计时,最简单实现RecyclerView倒计时+SwipeRefreshLayout下拉刷新

    先上效果图: RecyclerView + SwipeRefreshLayout 实现倒计时效果 MainActivity.java package top.wintp.counttimedemo1; ...

  8. php laravel5.6引入geetest 行为验证

    php laravel5.6引入geetest 行为验证 使用必要性 网站和APP,在所有可能被机器行为攻击的场景,例如但不限于注册.登录.短信接口.查询接口.营销活动.发帖评论等等,都可以部署使用「 ...

  9. 转 - RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  10. Android的步骤

    1.开发Activity步骤 第一步:写一个类继承Activity 第二步:重写oncreate方法 第三步:在主配置文件中注册activity <activity android:name=& ...