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

原创 2016年06月01日 20:53:10
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();
        
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

recycleView的使用以及PullableRecyclerView实现了上拉加载下拉刷新的效果

recycleView的使用 1.添加依赖: compile 'com.android.support:recyclerview-v7:26.0.0-alpha1' 哪个版本无所谓。 ...

详解RecyclerView+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果

使用Recycler+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果,适用于任何布局

详解RecyclerView+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果

上篇文章给大家讲解了一下关于RecyclerView的使用,今天给大家讲解一下Recycler+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果,先上效果图: 这篇文...
  • HiJson
  • HiJson
  • 2016-04-26 16:02
  • 2144
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)