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的更多相关文章

  1. cogs 1396. wwww

    1396. wwww ☆   输入文件:wwww.in   输出文件:wwww.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 对于一个递归函数w(a,b,c) 如果 ...

  2. 转载 DevOps的基本原则与介绍

    转载原地址:  http://www.cnblogs.com/wintersun/p/3339047.html DevOps的基本原则与介绍 DevOps这个术语是developer与operatio ...

  3. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  4. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

  5. 博客使用BOS上传图片

    1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...

  6. 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验

    准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...

  7. “全能”选手—Django 1.10文档中文版Part1

    本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...

  8. java web学习总结(三十) -------------------JSTL表达式

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  9. iOS 中的 HotFix 方案总结详解

    相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...

随机推荐

  1. Egret入门学习日记 --- 第四篇

    第四篇(学习篇) 好了,今天继续把昨天的问题解决了. 今天见鬼了. 现在界面又出来了.唯一我动过的地方,应该就是这里: 是的,我点了一下刷新.之后,不管我怎么创建新的EXML文件,放在src目录,还是 ...

  2. Linux命令学习-tail命令

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

  3. weblogic安装时检查监视器: 必须配置为至少显示 256 种颜色,实际空间未知→失败

    1.首先如果你出现的结果是[未通过],则设置DISPLAY环境变量. 按网上方法:export DISPLAY=:0.0 然后继续安装你的东西……若成功则恭喜你~ 若[失败],按网上方法让你去看日志 ...

  4. ItemsControl绑定的数据模板显示不同样式:模板选择器

    总所周知,wpf提供了数据模板,列表控件可以绑定数据实现批量显示同类型数据.不过同个数据模板显示不同的样式怎么办?这时我们可以用模板选择器. 首先我们可以将数据绑定到首先定义资源样式 <Data ...

  5. Linux文件权限设置教程

    Linux的文件基本权限有9个,分别是owenr.group.others三种身份各自有自己的r.w和x,比如"rwxrwxrwx",就表示owener具有r.w.x权限,同样gr ...

  6. acm 模板

    Index 分类细则 说起分类准则,我也是很头疼,毕竟对于很多算法,他并不是单调的,而是多方面的都挂得上钩.所以,从始至终,分类准则一直都是我很纠结的问题. 经过思量,首先分出比较主流的几类:Numb ...

  7. codewars[7]-python Friend or Foe?

    list中保留四字母的,然后return. 解 def friend(x): i = len(x) ii = [] a = 0 while a < i: if len(x[a]) == 4: i ...

  8. 数据挖掘之KMeans算法应用与简单理解

    一.背景 煤矿地磅产生了一系列数据: 我想从这些数据中,取出最能反映当前车辆重量的数据(有很多数据是车辆上磅过程中产生的数据).我于是想到了聚类算法KMeans,该算法思想比较简单. 二.算法步骤 1 ...

  9. 在工作中常用的Linux命令

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 之前写过一篇 < 在公司做的项目和自己在学校做 ...

  10. Java EE.JSP.指令

    JSP的指令是从JSP向Web容器发送消息,它用来设置页面的全局属性,如输出内容类型等. JSP的指令的格式为:<%@ 指令名 属性="属性值"%> 1.page指令 ...