wwww
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ ; private ViewPager pager; private List<String> imagelist=new ArrayList<String>(); private Handler handler=new Handler(){ //handler机制设置自动轮播 @Override public void handleMessage(Message msg) { int what=msg.what; pager.setCurrentItem(what); } }; private XListView xlv; ; private boolean flag; private List<Bean.DataBean> list; private MyBaseadapter adapter; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pager = (ViewPager) findViewById(R.id.pager); btn = (Button) findViewById(R.id.btn); //放入图片 imagelist.add("http://uimg.quanmin.tv/1503638093/cd8af.jpg"); imagelist.add("http://uimg.quanmin.tv/1503638052/61152.jpg"); imagelist.add("http://uimg.quanmin.tv/1503637943/32b38.jpg"); imagelist.add("http://image.quanmin.tv/6adf461b77359da62787be92e43f086ajpg"); pager.setAdapter(new My()); new Thread(){ @Override public void run() { //设置成为无限轮播 while(true){ try { //设置轮播时间 Thread.sleep(); con++; handler.sendEmptyMessage(con); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); xlv = (XListView) findViewById(R.id.xlv); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); data(); //跳转显示多条目 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,Main2.class); startActivity(intent); } }); } public void data(){ jiexi("http://www.quanmin.tv/json/categories/lol/list.json"); } 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); //并能在本地打印网络请求的字符串(5分) System.out.print(bean.toString()); //5)将请求获得的网络json字符串,定义实体类(5分),解析到对象中集合中(5分) list = bean.getData(); if (adapter==null) { adapter = new MyBaseadapter(MainActivity.this, list); xlv.setAdapter(adapter); }else{ adapter.sss(list,flag); } } } // 3)异步请求网络数据(5分), @Override protected String doInBackground(String... params) { try { URL url=]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(); connection.setReadTimeout(); int code = connection.getResponseCode(); ){ InputStream is = connection.getInputStream(); return info.readFromNetWork(is); } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(path); } // 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分) @Override public void onRefresh() { flag=false; data(); xlv.stopRefresh(true); Toast.makeText(MainActivity.this,"刷新完毕",Toast.LENGTH_SHORT).show(); } // 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分) @Override public void onLoadMore() { flag=true; data(); xlv.stopLoadMore(); Toast.makeText(MainActivity.this,"加载完毕",Toast.LENGTH_SHORT).show(); } class My extends PagerAdapter{ @Override public int getCount() { //轮播的次数 return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { //加载图片 ImageView imageView=new ImageView(MainActivity.this); ImageLoader.getInstance().displayImage(imagelist.get(position%imagelist.size()),imageView,appliction.getImageOptions()); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } }
public class Main2 extends AppCompatActivity implements XListView.IXListViewListener{ private boolean flag; private XListView xlv; private List<Bean.DataBean> list; private MyBaseadapter2 adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2); xlv = (XListView) findViewById(R.id.xlistview); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); data(); } public void data(){ jiexi("http://www.quanmin.tv/json/categories/lol/list.json"); } public void jiexi(String path){ new AsyncTask<String,Void,String>(){ @Override protected void onPostExecute(String s) { if (s!=null){ //gson解析 Gson gson=new Gson(); //实体bean类 Bean bean = gson.fromJson(s, Bean.class); //放到集合中 list = bean.getData(); if (adapter==null) { adapter = new MyBaseadapter2(Main2.this, list); xlv.setAdapter(adapter); }else{ adapter.sss(list,flag); } } } // 3)异步请求网络数据(5分), @Override protected String doInBackground(String... params) { try { URL url=]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(); connection.setReadTimeout(); int code = connection.getResponseCode(); ){ InputStream is = connection.getInputStream(); return info.readFromNetWork(is); } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(path); } public void onRefresh() { flag=false; data(); xlv.stopRefresh(true); Toast.makeText(Main2.this,"刷新完毕",Toast.LENGTH_SHORT).show(); } // 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分) @Override public void onLoadMore() { flag=true; data(); xlv.stopLoadMore(); Toast.makeText(Main2.this,"加载完毕",Toast.LENGTH_SHORT).show(); } }
public class MyBaseadapter extends BaseAdapter { private Context context; private List<Bean.DataBean> list; public MyBaseadapter(Context context,List<Bean.DataBean> list) { this.list=list; this.context=context; } //下拉刷新会在第一条添加内容,上啦加载会在最后一条添加内容 public void sss(List<Bean.DataBean> data,boolean flag){ for (Bean.DataBean s: data) { if (flag){ list.add(s); }else{ list.add(,s); } } notifyDataSetChanged(); } @Override public int getCount() { ; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { ; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHoder hoder=null; if (convertView==null){ hoder=new ViewHoder(); //查找控件 convertView=View.inflate(context,R.layout.item,null); hoder.image= (ImageView) convertView.findViewById(R.id.image); hoder.nick= (TextView) convertView.findViewById(R.id.nick); hoder.title= (TextView) convertView.findViewById(R.id.title); convertView.setTag(hoder); }else{ hoder= (ViewHoder) convertView.getTag(); } //给每个空间id赋值 ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),hoder.image,appliction.getImageOptions()); hoder.nick.setText(list.get(position).getNick()); hoder.title.setText(list.get(position).getTitle()); return convertView; }//,并进行优化(5分) class ViewHoder{ private ImageView image; private TextView nick,title; } }
public class MyBaseadapter2 extends BaseAdapter { private Context context; private List<Bean.DataBean> list; public MyBaseadapter2(Context context,List<Bean.DataBean> list) { this.list=list; this.context=context; }//下拉刷新会在第一条添加内容,上啦加载会在最后一条添加内容 public void sss(List<Bean.DataBean> data,boolean flag){ for (Bean.DataBean s: data) { if (flag){ list.add(s); }else{ list.add(,s); } } notifyDataSetChanged(); } @Override public int getCount() { ; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { ; } @Override public View getView(int position, View convertView, ViewGroup parent) { //多条目加载 ==){ convertView=View.inflate(context,R.layout.item1,null); ImageView image1 = (ImageView) convertView.findViewById(R.id.image1); TextView nick1 = (TextView) convertView.findViewById(R.id.nick1); TextView title1 = (TextView) convertView.findViewById(R.id.title1); ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),image1,appliction.getImageOptions()); nick1.setText(list.get(position).getNick()); title1.setText(list.get(position).getTitle()); }else{ convertView=View.inflate(context,R.layout.item2,null); ImageView image2 = (ImageView) convertView.findViewById(R.id.image2); TextView nick2 = (TextView) convertView.findViewById(R.id.nick2); TextView title2 = (TextView) convertView.findViewById(R.id.title2); ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),image2,appliction.getImageOptions()); nick2.setText(list.get(position).getNick()); title2.setText(list.get(position).getTitle()); } return convertView; } }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.wangshuaibiao201708251507b.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="150dp" android:id="@+id/pager"></android.support.v4.view.ViewPager> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn" android:text="跳转多条目显示" android:layout_below="@+id/pager"/> <SeekBar android:layout_width="match_parent" android:layout_height="3dp" android:id="@+id/bar" android:layout_below="@+id/btn" /> <com.limxing.xlistview.view.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xlv" android:layout_below="@+id/bar"></com.limxing.xlistview.view.XListView> </RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.limxing.xlistview.view.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xlistview"></com.limxing.xlistview.view.XListView> </LinearLayout>
item
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" android:id="@+id/image" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sssssssss" android:id="@+id/nick" android:layout_above="@+id/title" android:layout_centerHorizontal="true" android:layout_marginBottom="22dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/title" android:text="ddddddddddddddd" android:layout_marginBottom="21dp" android:layout_alignBottom="@+id/image" android:layout_alignLeft="@+id/nick" android:layout_alignStart="@+id/nick" /> </RelativeLayout>
item1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" android:id="@+id/image1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sssssssss" android:id="@+id/nick1" android:layout_above="@+id/title1" android:layout_centerHorizontal="true" android:layout_marginBottom="22dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/title1" android:text="ddddddddddddddd" android:layout_marginBottom="21dp" android:layout_alignBottom="@+id/image1" android:layout_alignLeft="@+id/nick1" android:layout_alignStart="@+id/nick1" /> </RelativeLayout>
item2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/image2" android:layout_width="100dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" android:layout_alignParentRight="true"/> <TextView android:id="@+id/nick2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="19dp" android:layout_marginStart="19dp" android:layout_marginTop="22dp" android:text="nick" /> <TextView android:id="@+id/title2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/image2" android:layout_alignLeft="@+id/nick2" android:layout_alignStart="@+id/nick2" android:layout_marginBottom="14dp" android:text="TextView" /> </RelativeLayout>
wwww的更多相关文章
- cogs 1396. wwww
1396. wwww ☆ 输入文件:wwww.in 输出文件:wwww.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 对于一个递归函数w(a,b,c) 如果 ...
- 转载 DevOps的基本原则与介绍
转载原地址: http://www.cnblogs.com/wintersun/p/3339047.html DevOps的基本原则与介绍 DevOps这个术语是developer与operatio ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- 博客使用BOS上传图片
1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...
- 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验
准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...
- “全能”选手—Django 1.10文档中文版Part1
本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...
- java web学习总结(三十) -------------------JSTL表达式
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
随机推荐
- golang 单元测试&&性能测试
一:单元测试 1.为什么要做单元测试和性能测试 减少bug 快速定位bug 减少调试时间 提高代码质量 2.golang的单元测试 单元测试代码的go文件必须以_test.go结尾 单元测试的函数名必 ...
- django项目中遇到要实现定时任务
django项目中遇到要实现定时任务,所以选用了简单易用的django-crontab插件. 1.安装 django-crontab pip install django-crontab 2.定时要执 ...
- 控制反转&依赖注入
IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.这是什么 ...
- Socket编程(C语言实现):bind()函数英文翻译
本篇翻译的bind()函数,我参考的国外网站是: bind 朋友们可以自由转载我对英文的中文翻译,但是对于"作者注:"的描述,转载时请注明出处和作者,否则视为侵权. 下面是翻译的正 ...
- 如果通过脚本来关闭程序-linux
正常情况下在linux关闭一个程序最好是走正常的关闭流程,不要直接杀死进程,这样程序的稳定性确实会收到影响,但是如果想通过脚本来关闭程序正常情况下比较困难的,我便采取了这种暴力的方法-直接杀死进程. ...
- c++中利用宏定义简化for循环使用
话不多说,上方法 #define _for(i,a,b) for( int i=(a); i<(b); ++i) #define _rep(i,a,b) for( int i=(a); i< ...
- FC游戏修改教程(hack)小白文。
FC(NES)红白机Family Computer(简称FAMICOM)(或Nintendo Entertainment System)是任天堂公司发行的第一代家用游戏机. 修改FC游戏需要的工具有 ...
- Hadoop之WritableComprale 排序
Hadoop之WritableComprale 排序 Hadoop只对key进行排序 排序是 MapReduce 框架中最重要的操作之一.Map Task 和 Reduce Task 均会对数据(按照 ...
- Django REST Framework(DRF)_第二篇
视图和路由 视图封装 第一次封装 上一篇最后我们对书籍表做了增删改查,那么如果现在我们有几十上百张表需要这样做呢?我们知道类的特性有封装,因此我们可以尝试进行封装下. from rest_fram ...
- libvirt-qemu-TLS加密虚拟机传输实例分析
说明 TLS(Transport Layer Security Protocol),即安全传输层协议,其核心是加密两台计算机之间的通信.libvirt中使用TLS,可以实现libvirt的安全加密.可 ...