package com.baway.test;

import java.util.ArrayList;

import com.baidu.vo.Mydata;
import com.baidu.vo.Super;
import com.bwie.net.Network;
import com.google.gson.Gson;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnScrollListener {

private TextView text;
    private GridView gv;
    private Base b;
    private boolean isLoad = false;
    private ArrayList<Mydata> data;

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gv = (GridView) findViewById(R.id.gv);

new Asy().execute();
        gv.setOnScrollListener(this);
    }

class Asy extends AsyncTask<String, Integer, String> {

protected String doInBackground(String... params) {
            // TODO Auto-generated method stub

String ss = Network
                    .getjson("http://m.yunifang.com/yunifang/mobile/goods/getall?random=9949&encode=6c2154232994e736ad461e3caa68ca7");
            return ss;
        }

protected void onPostExecute(String result) {

Gson g = new Gson();
            Super s = g.fromJson(result, Super.class);
            data = s.getData();
            b = new Base(data, MainActivity.this);
            gv.setAdapter(b);

gv.setOnItemClickListener(new OnItemClickListener() {

@Override
                public void onItemClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {

Intent in = new Intent(MainActivity.this, Show.class);
                    in.putExtra("id", data.get(arg2).getId());
                    startActivity(in);

}
            });
        }
    }

public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        isLoad = ((firstVisibleItem + visibleItemCount) == totalItemCount);

}

public void onScrollStateChanged(AbsListView view, int scrollState) {

if (isLoad && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
            Toast.makeText(getApplicationContext(), "开始加载数据", 1).show();
            // initData("web"+count);
            // count++;
            new Asys().execute();
            b.notifyDataSetChanged();
        }
    }

class Asys extends AsyncTask<String, Integer, String> {

protected String doInBackground(String... params) {

String ss = Network
                    .getjson("http://m.yunifang.com/yunifang/mobile/goods/getall?random=9949&encode=6c2154232994e736ad461e3caa68ca7");
            return ss;
        }

protected void onPostExecute(String result) {

Gson g = new Gson();
            Super s = g.fromJson(result, Super.class);
            data.addAll(s.getData());

}
    }
}

listview分页加载的更多相关文章

  1. Android中ListView分页加载数据

    public class MainActivity extends Activity { private ListView listView=null; //listview的数据填充器 privat ...

  2. 【Android进阶】Listview分页加载数据的实现

    Listview分页加载数据的实现 public class MainActivity extends Activity { protected static final int SUCCESS_GE ...

  3. Android ListView分页加载时图片显示问题

    场景:Android ListView需要分页加载,每个item中会有图片,图片又是从网络下载的. 问题:在滑动加载下一页时,上一页的图片明明已经下载完成了,但是无法显示出来. Bug重现: 1,加载 ...

  4. listView 分页加载数据

    Android应用 开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页 的形式来展示数据,个人觉得这样会有 ...

  5. android ListView 分页加载数据

    1.mainActivity <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

  6. Android基本控件之listView(三)<用ListView实现分页加载>

    我们之前讨论了ListView的基本使用方法和ListView的优化 今天我们再来讨论一个关于ListView的一个新的东西~就是分页加载.那么什么是分页加载呢?简单点说,就是"下拉刷新&q ...

  7. ListView上拉刷新和分页加载完整的Dome

    很多人工作的过程中都会碰到ListView下拉刷新和分页加载,然后大多数公司都已经把框架写好了,大家直接用就可以了,有些人一直对这个事情处于迷茫状态,为了让大家对上拉刷新和分页加载有一个比较全面的认识 ...

  8. ListView实现分页加载(三)实现分页加载

    在上一篇中,我们实现了底部布局(即带上了进度条).没有读过的朋友可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4866966.html 但是进度条 ...

  9. ListView实现分页加载(一)制作Demo

    一.什么是分页加载 在下面的文章中,我们来讲解LitView分页加载的实现.什么是分页加载呢?我们先看几张效果图吧,如下:                                       ...

随机推荐

  1. python 线程学习

    彩照 一.学习[1] # -*- coding: utf-8 -*- import time import thread def timer(no, interval): cnt = 0 while ...

  2. 谷歌 火狐 CSS兼容

    @media screen and (-webkit-min-device-pixel-ratio:0){}谷歌@-moz-document url-prefix(){}火狐

  3. CentOS6.8下部署Zabbix3.0

    Centos6.8下部署安装zabbix3.0: 环境要求 PHP >= 5.4  (CentOS6默认为5.3.3,需要更新) curl >= 7.20 (如需支持SMTP认证,需更新) ...

  4. MySQL 循环执行kill语句杀掉连接

    mysql中创建索引时,一直卡住不动,刚开始以为可能是数据量太大导致的,可是一直等了很久还是一样没有反应,看来操作的表被锁住了,执行show processlist 果然发现有大量的lock,使用ki ...

  5. ijg库解码超大型jpeg图片

    1. ijg库解码超大型jpeg图片(>100M)的时候,如何避免内存溢出. 采用边解码边压缩的策略,每次解码一行或者若干行图片数据,然后对于这些解码的数据,进行DQT(量化处理,过滤掉高频的数 ...

  6. springmvc单文件上传

    1.创建上传页面 <form action="first.do" method="post" enctype="multipart/form-d ...

  7. 使用NodeJS、GruntCLI遇到的问题

    运行环境CMD NODEJS版本v0.8.4  node --version 需求:需要用到Grunt的JS编译功能,各位别笑我. 使用代理 npm config set proxy http://i ...

  8. opencv中的.at方法

    opencv中的.at方法是用来获取图像像素值得函数: interpolation:差值 histogram:直方图

  9. iOS开发UI篇—UIScrollView控件实现图片轮播

    iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: #import "YYV ...

  10. JavaScript整合

    JavaScript已经学完了,总体感觉良好,但是突然发现原来JS可以做的东西比我想象的还要多!我整理了一些JavaScript的基础知识,这些内容掌握好的话,对我们深入学习JavaScript会有很 ...