android 页面下拉刷新,添加新数据

来源:互联网 发布:嘟嘟牛破译软件 编辑:程序博客网 时间:2024/06/04 00:46
实现思路:
1、获取id

2、获取数据new list

3、实例化适配器ArrayAdapter

4、给id设置下拉刷新的监听

5、写一个类部类,添加新的数据



<?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_Refresh" ></com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>

public class PullToRefreshActivity extends AppCompatActivity{    private PullToRefreshListView ptrlv_refresh;    private List<String> list;    private ArrayAdapter adapter;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.ativity_pulltorefresh);        ptrlv_refresh = (PullToRefreshListView) findViewById(R.id.ptrlv_Refresh);        list = new ArrayList<>();        //1、获取数据        for (int i = 0; i < 10; i++) {            list.add("白狼爱蒋心"+i);        }        //2、适配器        adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);        ptrlv_refresh.setAdapter(adapter);        //3.给ListView设置下拉刷新的监听        ptrlv_refresh.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                    new MyTask().execute();            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {            }        });    }    class MyTask extends AsyncTask{        //在后台 获取数据        //内部有线程机制        @Override        protected Object doInBackground(Object[] objects) {            for (int i = 0; i < 3; i++) {                list.add(0,"蒋心也很爱白狼"+i);            }            return null;        }        //更新数据        @Override        protected void onPostExecute(Object o) {            super.onPostExecute(o);            ptrlv_refresh.onRefreshComplete();            //通知适配器数据,发生改变            adapter.notifyDataSetChanged();        }    }}


原创粉丝点击