pulltorefresh下拉刷新上拉加载

本文详细解析了Frag1Fragment类的实现,该类继承自Fragment,用于展示烹饪菜谱数据。文章介绍了如何使用PullToRefreshListView进行下拉刷新和上拉加载更多功能,以及如何通过HttpUtil异步获取JSON数据并解析到自定义适配器中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Frag1 extends Fragment{
    private List<JsonBean.ResultBean.DataBean> list;
    private PullToRefreshListView listView;
    private String str="http://apis.juhe.cn/cook/query?key=c7131fe269aadfdef9b76461981800cb&menu=%E8%9B%8B%E7%82%92%E9%A5%AD";
    private MyAdapter adapter;
    private JsonBean bean;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag01, container, false);

        listView = view.findViewById(R.id.listview);
        listView.setMode(PullToRefreshBase.Mode.BOTH);
        listView.setScrollingWhileRefreshingEnabled(true);
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                HttpUtil.AsynTask(str, new HttpUtil.CallBackString() {

                    @Override
                    public void getData(String s) {
                        Gson gson = new Gson();
                        bean = gson.fromJson(s, JsonBean.class);
                        list = bean.getResult().getData();
                        adapter = new MyAdapter(list,getActivity());
                        listView.setAdapter(adapter);
                        listView.onRefreshComplete();
                    }
                });
            }


            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                HttpUtil.AsynTask(str, new HttpUtil.CallBackString() {

                    @Override
                    public void getData(String s) {
                        Gson gson = new Gson();
                        JsonBean bean = gson.fromJson(s, JsonBean.class);
                        List<JsonBean.ResultBean.DataBean> data = bean.getResult().getData();
                        list.addAll(data);
                        adapter.notifyDataSetChanged();
                       listView.onRefreshComplete();
                    }
                });
            }
        });
        HttpUtil.AsynTask(str, new HttpUtil.CallBackString() {

            @Override
            public void getData(String s) {
                Gson gson = new Gson();
                JsonBean bean = gson.fromJson(s, JsonBean.class);
                list = bean.getResult().getData();
                adapter = new MyAdapter(list,getActivity());
                listView.setAdapter(adapter);
            }
        });

        return view;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值