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. 关于xcode不同版本打开相同工程问题

    今天刚下好了xcode7正式版,于是乎用其创建一个工程.随后关闭此工程用xcode6.3打开此工程.发现报错不能运行,随后网上查资料,可惜中文版的资料几乎可以说是没有,因此写下此文,以方便其他遇到此情 ...

  2. jQuery Easing 使用方法及其图解

    jQuery Easing 使用方法及其图解,非常详尽:http://blog.sina.com.cn/s/blog_70a3539f0102v8az.html

  3. Hibernate延迟加载机制

    延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作.在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另 ...

  4. iOS沙盒路径的查看和使用

    1.模拟器沙盒目录 文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library. 因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文 ...

  5. (转载) PowerDesigner 生成sql文件

    Powerdesigner15-物理模型-导出建表sql语句 博客分类: Powerdesigner Powerdesigner15-物理模型-导出建表sql语句 1.设置哪种数据库导出的sql语句, ...

  6. Canvas与Image互相转换

    转换 Image为 Canvas要把图片转换为Canvas(画板,画布),可以使用canvas元素 context 的drawImage方法: // 把image 转换为 canvas对象 funct ...

  7. 运用js解决java selenium元素定位问题

    一.解决定位并操作uneditable元素 尝试了通过id,xpath等等定位元素后点击都提示Element is not clickable at point 再看了下可以click的元素发现上面有 ...

  8. 【html5】常见标签使用说明(持续更新)

    说明: 所谓常见,是指我在优秀网页源码中见到的. 1.viewport 我见到的时候是这样: <meta name="viewport" content="widt ...

  9. TabControl控件的DrawItem事件怎么注册

    只有DrawMode等于OwnerDrawFixed时,才会在绘制选项卡时发生DrawItem事件tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;

  10. 编写高质量JavaScript代码的基本要点

    全局变量 javaScript通过函数管理变量作用域.在函数内部声明的变量只在这个函数内部可用,函数外面不可用.另一方面,在任何函数外面声明的或是函数内未声明直接使用的变量叫做全局变量. 每个Java ...