PullToRefreshListView刷新下拉加载最简单用法

来源:互联网 发布:网络盒子加密软件 编辑:程序博客网 时间:2024/06/06 01:54

导入所需PullToRefreshlibrary包

布局文件

<RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.androidshangxiala.MainActivity">    <com.handmark.pulltorefresh.library.PullToRefreshListView        android:id="@+id/pull_refresh_list"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:cacheColorHint="#00000000"        android:divider="#19000000"        android:dividerHeight="4dp"        android:fadingEdge="none"        android:fastScrollEnabled="false"        android:footerDividersEnabled="false"        android:headerDividersEnabled="false"        android:smoothScrollbar="true" /></RelativeLayout>
代码文件

import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private PullToRefreshListView pullToRefreshListView;    private List<String> list;    private Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);        }    };    private MyAdapter myAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        pullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);        //默认可以下拉, 设置BOTH后也可以上啦;        pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);        initData();        myAdapter = new MyAdapter();        pullToRefreshListView.setAdapter(myAdapter);        pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            //下拉加载            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                handler.postDelayed(new Runnable() {                    @Override                    public void run() {                        list.add(0,"网吧");                        myAdapter.notifyDataSetChanged();                        pullToRefreshListView.onRefreshComplete();                    }                },2000);            }            //上拉刷新            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                handler.postDelayed(new Runnable() {                    @Override                    public void run() {                        list.add("您好,范冰冰");                        pullToRefreshListView.onRefreshComplete();                    }                },2000);                myAdapter.notifyDataSetChanged();            }        });    }    //初始化组件    private void initData() {        list = new ArrayList<>();        for (int i = 0; i < 15; i++) {            list.add("杨栓"+i);        }    }    class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int position) {            return list.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            TextView textView = new TextView(MainActivity.this);            textView.setText(list.get(position));            textView.setTextSize(25);            return textView;        }    }}

阅读全文
0 0
原创粉丝点击