public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{

    private XListView xlv;
private int page=;
private boolean flag;
private List<Bean.ResultBean.DataBean> list;
private MyBaseadapter adapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = (XListView) findViewById(R.id.xlv);
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.getResult().getData();
if (adapter==null) {
adapter = new MyBaseadapter(MainActivity.this, list);
xlv.setAdapter(adapter);
}else{
adapter.sss(list,flag);
}
}
} @Override
protected String doInBackground(String... params) {
try {
URL url=new URL(params[]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout();
connection.setConnectTimeout();
int code = connection.getResponseCode();
if (code==){
InputStream is = connection.getInputStream();
return info.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();
}
}
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() {
return list!=null?list.size():;
} @Override
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return ;
} @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.textView);
ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(),image,appliction.getImageOptions());
tv.setText(list.get(position).getTitle());
return convertView;
}
}

单纯的xlistview的更多相关文章

  1. XListView

    第一步:到官网下载第三方包,拷贝到自己的项目中 https://github.com/Maxwin-z/XListView-Android 第二步:xml文件 <me.maxwin.view.X ...

  2. android第三方框架 xlistview 的使用

    如今上拉刷新,下拉加载更多已经是浩如烟海的app的标配了 最近正好有相关的需要就去学习了一下,还是那句老话凡事都靠自己来 搞实在不是一件好事,费时费力不说可能还是在做无用功,不过自己研究学习 还是很有 ...

  3. XListView理念

    package com.example.testxml1; import java.io.ByteArrayInputStream;import java.io.InputStream;import ...

  4. XListView刷新

    package com.example.da; import java.util.ArrayList;import java.util.List; import com.badu.net.Networ ...

  5. xlistview的(java)

    package com.bwie.xlistviews; import java.text.SimpleDateFormat;import java.util.Date; import com.bwi ...

  6. Android Studio添加应用作为依赖时报错Error:Dependency MonthText:xlistview:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: 及其解决方案

    Error:Dependency MonthText:xlistview:unspecified on project app resolves to an APK archive which is ...

  7. Android XListView实现原理讲解及分析

    XListview是一个非常受欢迎的下拉刷新控件,但是已经停止维护了.之前写过一篇XListview的使用介绍,用起来非常简单,这两天放假无聊,研究了下XListview的实现原理,学到了很多,今天分 ...

  8. 思考----拒绝单纯copy

    工作4个多月以来感触最深的是: 做事情的时候遇到不会的可以上网查或者问别人,但是获取到的知识不能只是单纯的copy过来使用达到要求就ok, 更重要的是事后等有空了一定要仔细研究学习,使知识网络完整,这 ...

  9. Exception dispatching input event. use XlistView

    今天上午解决Bug,一个上午的时间: log: 11-01 14:49:14.826: E/InputEventReceiver(30810): Exception dispatching input ...

随机推荐

  1. 关于Nginx499、502和504的分析

    我相信有些人在面试运维类岗位的时候会碰到对方问关于这方面的问题,我这里通过几个实验来复现这个情况,并做出相关分析,我希望大家看完后针对这种问题能有一个清晰思路. 服务器 IP Nginx 192.16 ...

  2. Linux命令学习-tail命令

    Linux中,tail命令的全称就是tail,主要用于监控日志文件. 对于一个正在运行应用来说,其对应的log日志文件肯定是在不断的更新,此时,便可通过tail命令来动态显示日志文件的内容.假设当前目 ...

  3. .Net Core 通用主机(Core 在控制台应用程序中的应用)

    一.介绍 官方文档中说,Microsoft.AspNetCore.App 元包(ASP.NET Core 2.1 或更高版本)包含通用主机的Microsoft.Extensions.Hosting包, ...

  4. 把 python 程序打包成 egg 或者 whl 安装包

    原文出处:http://www.worldhello.net/2010/12/08/2178.html 本文略有改动 1.1 安装setuptools 首先要安装setuptools工具.Debian ...

  5. 双剑合璧——掌握 cURL 和 Dig 走天涯

    如今随着大量的应用转移到网络,作为开发者,会经常做一些通讯测试,例如从网站获取信息.模拟用户向网站提交或者上传数据,查看应用通讯情况等等,现在变成了非常重要的任务. 一起来认识 cURL cURL 是 ...

  6. 【题解】导游-C++

    Description 宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已 知镇海中学内共有n处景点.现在有n位该校的学生志愿承担导游和讲解任务.每个 ...

  7. [记录]优化Linux 的内核参数来提高服务器并发处理能力

    优化Linux 的内核参数来提高服务器并发处理能力PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux 系统下的负载 ...

  8. idea 警告:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除

    在pom.xml文件中添加 <properties>         <maven.compiler.source>1.8</maven.compiler.source& ...

  9. opencv编译

    1. clone源码 https://github.com/opencv/opencv 2. 安装cmake 3. cmake配置的时候,输出目录需要另外设置一个目录,不可以放到源码目录 4. 用cm ...

  10. java基础知识必备(一)

    一,开发前奏        a.Java语言的发展历史.       Java语言是美国Sun公司(Stanford University Network/斯坦福大学网络公司),       在199 ...