您的位置:首页 > 其它

PullToRefresh实现listview刷新加载

2016-05-04 11:51 197 查看
package com.example.listviewnew;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.AsyncTask;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

import com.example.been.Nei;

import com.example.been.Wai;

import com.example.qingqiu.QingQiu;

import com.google.gson.Gson;

import com.handmark.pulltorefresh.library.PullToRefreshBase;

import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;

import com.handmark.pulltorefresh.library.PullToRefreshListView;

import com.lidroid.xutils.BitmapUtils;

public class MainActivity extends Activity {

private PullToRefreshListView mPullRefreshListView;

List<Nei> list;

private MyAdapter my;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

list=new ArrayList<Nei>();

mPullRefreshListView=(PullToRefreshListView) findViewById(R.id.expand_list);

new GetDataTask().execute();

my = new MyAdapter(list);

mPullRefreshListView.setAdapter(my);

mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {

@Override

public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) {

Toast.makeText(MainActivity.this, "onPullDownToRefresh", Toast.LENGTH_SHORT).show();

new GetDataTask().execute();

}

@Override

public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

Toast.makeText(MainActivity.this, "onPullUpToRefresh", Toast.LENGTH_SHORT).show();

new GetDataTask1().execute();

}

});

}

class GetDataTask extends AsyncTask<String, Void, List<Nei>>{

@Override

protected List<Nei> doInBackground(String... params) {

String str=QingQiu.getString("http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&pn=0&rn=20&dtype=json");

Gson gson=new Gson();

Wai wai = gson.fromJson(str, Wai.class);

List<Nei>li=wai.getResult().getData();

for (Nei l : li) {

list.add(0, l);

}

return list;

}

@Override

protected void onPostExecute(List<Nei> list) {

//MyAdapter my=new MyAdapter(list);

//mPullRefreshListView.setAdapter(my);

my.notifyDataSetChanged();

mPullRefreshListView.onRefreshComplete();

}

}

class GetDataTask1 extends AsyncTask<String, Void, List<Nei>>{

@Override

protected List<Nei> doInBackground(String... params) {

String str=QingQiu.getString("http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&pn=0&rn=20&dtype=json");

Gson gson=new Gson();

Wai wai = gson.fromJson(str, Wai.class);

List<Nei>li=wai.getResult().getData();

for (Nei l : li) {

list.add(list.size(), l);

}

return list;

}

@Override

protected void onPostExecute(List<Nei> list) {

//MyAdapter my=new MyAdapter(list);

//mPullRefreshListView.setAdapter(my);

my.notifyDataSetChanged();

mPullRefreshListView.onRefreshComplete();

}

}

class MyAdapter extends BaseAdapter{

private List<Nei> list;

public MyAdapter(List<Nei> list) {

this.list=list;

Log.d("wen", list.toString());

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return list.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

Nei nei = list.get(position);

if(convertView==null){

convertView=View.inflate(MainActivity.this, R.layout.activity_shipei, null);

}

Log.d("wen", nei.toString());

ImageView shipei_iv=(ImageView) convertView.findViewById(R.id.shipei_iv);

TextView shipei_tv1=(TextView) convertView.findViewById(R.id.shipei_tv1);

TextView shipei_tv2=(TextView) convertView.findViewById(R.id.shipei_tv2);

BitmapUtils utils=new BitmapUtils(MainActivity.this);

utils.display(shipei_iv,list.get(position).getImg());

shipei_tv1.setText(list.get(position).getTitle());

shipei_tv2.setText(list.get(position).getTags());

return convertView;

}

}

}

//布局文件

<com.handmark.pulltorefresh.library.PullToRefreshListView

xmlns:ptr = "http://schemas.android.com/apk/res-auto"

android:id="@+id/expand_list"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:dividerHeight="4dp"

android:fadingEdge="none"

android:fastScrollEnabled="false"

android:footerDividersEnabled="false"

android:headerDividersEnabled="false"

android:smoothScrollbar="true"

ptr:ptrMode="both"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: