android下拉刷新

来源:互联网 发布:catia软件书籍 编辑:程序博客网 时间:2024/06/05 00:54

下拉刷新效果实现图:


下拉刷新代码实现,xml部分代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><com.handmark.pulltorefresh.library.PullToRefreshListView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/ptrlv_reflsh"    ></com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>

java部分代码:



package com.example.kongjian_06;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2017/6/11. */public class PullToRefresh extends AppCompatActivity {    private PullToRefreshListView ptrlv;    private List<String> list;    private ArrayAdapter aa;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_pulltorefresh);        ptrlv = (PullToRefreshListView) findViewById(R.id.ptrlv_reflsh);//获取PullToRefreshListView        list = new ArrayList<>();//new一个集合        for (int i = 0; i <10 ; i++) {            list.add("haha"+i);//将数据填入集合中        }        aa = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);//new一个适配器        ptrlv.setAdapter(aa);//给ptrlv设置适配器        ptrlv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                new MyTask().execute();//newMyTask并执行            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {            }        });    }    class MyTask extends AsyncTask{        @Override        protected Object doInBackground(Object[] params) {            for (int i = 0; i <3 ; i++) {                list.add(0,"huohuo"+i);//将数据添加到数据最前面            }            return null;        }        @Override        protected void onPostExecute(Object o) {            super.onPostExecute(o);            ptrlv.onRefreshComplete();            aa.notifyDataSetChanged();//通知适配器发生改变        }    }}


原创粉丝点击