listview分页加载

时间:2023-03-08 17:45:49
listview分页加载

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());

}
    }
}