MainActivity

本文介绍了一个Android应用中如何实现UI的下拉刷新与数据的异步加载。通过PullToRefreshScrollView组件实现了列表视图的上下刷新功能,并利用Banner组件展示了轮播图。此外,还使用了OkHttp进行网络请求,结合Gson解析JSON数据,最终在三个不同的RecyclerView中显示了获取到的数据。

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

public class MainActivity extends AppCompatActivity {
    private Banner banner;
    private RecyclerView rlv;
    private  RecyclerView rlv2;
    private  RecyclerView rlv3;
    private List<String> list=new ArrayList<>();;
    private PullToRefreshScrollView pull;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        banner =(Banner) findViewById(R.id.banner);
        rlv =(RecyclerView) findViewById(R.id.rlv);
        rlv2 =(RecyclerView) findViewById(R.id.rlv2);
        rlv3 =(RecyclerView) findViewById(R.id.rlv3);
        pull = (PullToRefreshScrollView) findViewById(R.id.pull);
        pull.setMode(PullToRefreshBase.Mode.BOTH);
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                refreshComplete();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                refreshComplete();
            }
        });


        List<String> img = new ArrayList<>();
        img.add("http://l2.51fanli.net//tuan//images//1//5806eac956808.jpg");
        img.add("http://l2.51fanli.net//tuan//images//b//580991bb30560.jpg");
        img.add("http://l0.51fanli.net//tuan//images//b//58115f2593dc3.jpg");
        img.add("http://l2.51fanli.net//tuan//images//0//57923840b054d.jpg");
        img.add("http://l2.51fanli.net//tuan//images//e//58101e11ab164.jpg");

        banner.setImageLoader(new MyBannerAdapter());
        banner.setImages(img);
        banner.start();

        rlv1();
        rlv2();
        rlv3();

    }
    public void rlv1(){
        OkHttp3Util.doGet("https://www.zhaoapi.cn/product/getCatagory", new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

                if(response.isSuccessful()){
                    final String json = response.body().string();

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Gson gson=new Gson();
                            UserBean userBean = gson.fromJson(json, UserBean.class);
                            List<UserBean.DataBean> data = userBean.getData();

                            rlv.setLayoutManager(new GridLayoutManager(MainActivity.this,2, OrientationHelper.HORIZONTAL,false));
                            MyListAdapter myListAdapter=new MyListAdapter(data,MainActivity.this);
                            rlv.setAdapter(myListAdapter);

                        }
                    });

                }
            }
        });

    }
    public void rlv2(){
        OkHttp3Util.doGet("https://www.zhaoapi.cn/ad/getAd", new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    final String json = response.body().string();
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Gson gson=new Gson();
                            GoodsBean miaoshaBean = gson.fromJson(json, GoodsBean.class);
                            List<GoodsBean.MiaoshaBean.ListBeanX> list = miaoshaBean.getMiaosha().getList();
                            rlv2.setLayoutManager(new LinearLayoutManager(MainActivity.this,OrientationHelper.HORIZONTAL,false));
                            MyListAdapter2 myListAdapter2=new MyListAdapter2(list,MainActivity.this);
                            rlv2.setAdapter(myListAdapter2);
                        }
                    });
                }
            }
        });



    }
    public void rlv3(){

        OkHttp3Util.doGet("https://www.zhaoapi.cn/ad/getAd", new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    final String json = response.body().string();
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Gson gson=new Gson();
                            GoodsBean goodsBean = gson.fromJson(json, GoodsBean.class);
                            List<GoodsBean.TuijianBean.ListBean> list = goodsBean.getTuijian().getList();

                            rlv3.setLayoutManager(new StaggeredGridLayoutManager(2,OrientationHelper.VERTICAL));
                            MyListAdapter3 myListAdapter3=new MyListAdapter3(list,MainActivity.this);
                            rlv3.setAdapter(myListAdapter3);

                        }
                    });
                }
            }
        });



    }
    public void refreshComplete(){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                pull.onRefreshComplete();
            }
        },3000);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值