热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Xlistview_聚合菜谱大全数据

publicclassMainActivityextendsAppCompatActivityimplementsXListView.IXListViewListener{priv
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{

private XListView xlv;
private int page=1;
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() {
@Override
protected void onPostExecute(String s) {

if (s!=null){
Gson gson
=new Gson();
Bean bean
= gson.fromJson(s, Bean.class);
List
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
=new URL(params[0]);
HttpURLConnection connection
= (HttpURLConnection) url.openConnection();
connection.setRequestMethod(
"GET");
connection.setReadTimeout(
3000);
connection.setConnectTimeout(
3000);
int code = connection.getResponseCode();
if (code==200){
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 list;
private Context context;
public MyBaseadapter(Context context,List list){
this.cOntext=context;
this.list=list;

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

}
notifyDataSetChanged();
}
@Override
public int getCount() {
return list!=null?list.size():0;
}

@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.
get(position).getAlbums().get(0),image,MyAppliction.getDiskImageoptoins());
return convertView;
}
}

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

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


推荐阅读
  • 本文详细介绍了Java库com.powsybl.afs.storage中的NodeGenericMetadata.getBooleans()方法,并提供了多个实际应用的代码示例。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 深入理解Java SE 8新特性:Lambda表达式与函数式编程
    本文作为‘Java SE 8新特性概览’系列的一部分,将详细探讨Lambda表达式。通过多种示例,我们将展示Lambda表达式的不同应用场景,并解释编译器如何处理这些表达式。 ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
  • 本文详细介绍了Elasticsearch中的分页查询机制,包括基本的分页查询流程、'from-size'浅分页与'scroll'深分页的区别及应用场景,以及两者在性能上的对比。 ... [详细]
  • 本文详细介绍了`android.os.Binder.getCallingPid()`方法的功能和应用场景,并提供了多个实际的代码示例。通过这些示例,开发者可以更好地理解如何在不同的开发场景中使用该方法。 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
author-avatar
Kioone_818
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有