关闭

上拉加载,下拉刷新以及集合堆叠效果

115人阅读 评论(0) 收藏 举报
package com.baway.test;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import com.baway.test.bean.Book;
import com.baway.test.bean.MyData;
import com.baway.test.bean.Reasultt;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.GridView;

public class TwoActivity extends Activity {

    private String id;
    private PullToRefreshGridView gv;
    private List<Book> data;
    private Handler handler=new Handler(){
        public void handleMessage(Message msg) {
            
                List<Book> book_list=(List<Book>) msg.obj;
            
                for(Book  b:book_list){
                    list_list.addAll(book_list);
                }
            
                adapter.notifyDataSetChanged();
                gv.onRefreshComplete();
            
        };
    };
    private List<Book> list_list;
    private MyGvAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //加载布局
        setContentView(R.layout.activity_two);
        
        list_list = new ArrayList<>();
        
        
        //获得传过来的值
        Intent intent = getIntent();
        id = intent.getStringExtra("id");
        
        initData();
        
        adapter = new MyGvAdapter(TwoActivity.this,list_list);
        
        gv = (PullToRefreshGridView) findViewById(R.id.two_gv);
        gv.setMode(Mode.BOTH);
          gv.setAdapter(adapter);
        gv.setOnRefreshListener(new OnRefreshListener2<GridView>() {

            @Override
            public void onPullDownToRefresh(
                    PullToRefreshBase<GridView> refreshView) {
                // TODO Auto-generated method stub
                initData();
                
            }

            @Override
            public void onPullUpToRefresh(
                    PullToRefreshBase<GridView> refreshView) {
                // TODO Auto-generated method stub
                initData();
            }
        });
    }

    //请求数据
    private void initData() {
        // TODO Auto-generated method stub
        new Thread(){
            

            public void run() {
                try {
                    HttpClient client=new DefaultHttpClient();
                    HttpGet get=new HttpGet("http://apis.juhe.cn/goodbook/query?key=d82140229634dacc6a1908e65c767d76&catalog_id="+id+"&rn=10");
                    HttpResponse response = client.execute(get);
                    HttpEntity entity = response.getEntity();
                    String content = EntityUtils.toString(entity, "utf-8");
                    
                    Gson gson=new Gson();
                    MyData fromJson = gson.fromJson(content, MyData.class);
                    Reasultt result = fromJson.getResult();
                    data = result.getData();
                    
                    Message msg=Message.obtain();
                    msg.obj=data;
                    
                    handler.sendMessage(msg);
                  
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            };
        }.start();
        
    }
}

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1956次
    • 积分:142
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档