PullToRefreshListView的使用

来源:互联网 发布:淘宝商城家具城松木床 编辑:程序博客网 时间:2024/06/06 14:10
private PullToRefreshListView pullToRefreshListView;private LinkedList<Goods.DataBean.IndexothersBean> linkedList=new LinkedList<>();private ImageLoader imageLoader;private MAdapter mAdapter;private String url="http://www.meirixue.com/api.php?c=index&a=index";@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {    View view = inflater.inflate(R.layout.item, container, false);    imageLoader=ImageLoader.getInstance();    pullToRefreshListView = view.findViewById(R.id.pull_refresh);    pullToRefreshListView.setMode(PullToRefreshListView.Mode.BOTH);     mAdapter=new MAdapter();    pullToRefreshListView.setAdapter(mAdapter);    pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {        @Override        public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {            linkedList.clear();            new MAsyncTask().execute(url);        }        @Override        public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {            new MAsyncTask().execute(url);        }    });    return view;}class MAdapter extends BaseAdapter{    @Override    public int getCount() {        return linkedList.size();    }    @Override    public Object getItem(int i) {        return linkedList.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        view = View.inflate(getActivity(), R.layout.item2, null);        ImageView imageView = view.findViewById(R.id.iv);        TextView textView = view.findViewById(R.id.tv);        imageLoader.displayImage(linkedList.get(i).getCourse_pic(),imageView);        textView.setText(linkedList.get(i).getCourse_name());        return view;    }}class MAsyncTask extends AsyncTask<String,Void,String>{    @Override    protected String doInBackground(String... strings) {        String string = strings[0];        String netjson = NetWordUtils.getNetjson(string);        return netjson;    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        Gson gson=new Gson();        Goods goods = gson.fromJson(s, Goods.class);        List<Goods.DataBean.IndexothersBean> indexothers = goods.getData().getIndexothers();        linkedList.addAll(indexothers);        mAdapter.notifyDataSetChanged();        pullToRefreshListView.onRefreshComplete();    }}
原创粉丝点击