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. [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径

    REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工 ...

  2. 寻觅Azure上的Athena和BigQuery (二):神奇的PolyBase

    前情回顾 在“数据湖”概念与理论逐渐深入人心的今天,面向云存储的交互式查询这个需求场景显得愈发重要.这是因为原生的云存储(主要指S3这样的对象存储)既能够容纳大容量的明细数据,又能在性能和成本间取得一 ...

  3. .Net Core 学习新建Core MVC 项目

    一.新建空的Core web项目 二.在Startup文件中添加如下配置 1.  在ConfigureServices 方法中添加 services.AddMvc();MVC服务 2. app.Use ...

  4. webpack-dev-server 小记 原理介绍 概念解读

    使用 DevServer 提供 HTTP 服务而不是使用本地文件预览 监听文件的变化并自动刷新网页,做到实时预览 支持 Source Map,以方便调试 对于这些,Webpack 都为我们考虑好了.W ...

  5. CitusDB Multi-node Install and Test

    Multi-node setup on CentOS 参考官网:https://docs.citusdata.com/en/v6.2/installation/production_rhel.html ...

  6. centos7 安装NVM 管理node

    [转载] 转载自https://blog.csdn.net/shuizhaoshui/article/details/79325931 NVM git地址: https://github.com/cr ...

  7. struct模块(用于对象的压缩)

    6.27自我总结 struct模块 1.struct模块中的函数 函数 return explain pack(fmt,v1,v2-) string 按照给定的格式(fmt),把数据转换成字符串(字节 ...

  8. 从后端到前端之Vue(三)小结以及一颗真实的大树

    上一篇写了一下tab,下面整理一下用过的知识点,本想按照官网的文档,整理一下可以更清晰,结果也许是我的方法不对吧,总之更模糊了. 按照官网文档的顺序整理到了表单输入绑定之前,因为之前大致也就只涉及到这 ...

  9. UTF-16 -- 顶级程序员也会忽略的系统编码问题,JDK 错了十年!

    Unicode(统一码.万国码.单一码)是计算机科学领域里的一项业界标准,包括字符集.编码方案等.Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一 ...

  10. Python在office开发中的应用

    Python with Excel 有几个很好的Python模块能够方便地操作Excel的数据,包括读与写,不要求本地安装Excel.例如pandas, openpyxl, xlrd, xlutils ...