您的位置:首页 > 其它

RecyclerView切换布局(列表→网格)

2017-12-10 20:01 337 查看
boolean flag = false;//定义全局变量用来保存按钮的状态

@Override

    public void onSuccess(final SearchBean searchBean) {

        //得到presenter传来的数据

        runOnUiThread(new Runnable() {

            @Override

            public void run() {

                //设置默认为列表

                ck.setChecked(flag);

                data.addAll(searchBean.getData());

                ck.setOnClickListener(new View.OnClickListener() {

                    @Override

                    public void onClick(View view) {

                        if(flag){

                            //设置lv适配器

                            setLVAdapter();

                            ck.setChecked(false);

                            flag = ck.isChecked();

                        }else{

                            //设置gv适配器

                            setGVAdapter();

                            ck.setChecked(true);

                            flag = ck.isChecked();

                        }

                    }

                });

                if(ck.isChecked()){

                    //设置gv适配器

                    setGVAdapter();

                }else{

                    //设置lv适配器

                    setLVAdapter();

                }

                //设置刷新样式

                xrv.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);

                //设置加载样式

                xrv.setLoadingMoreProgressStyle(ProgressStyle.BallSpinFadeLoader);

                //设置xrecyclerview监听

                xrv.setLoadingListener(new XRecyclerView.LoadingListener() {

                    @Override

                    public void onRefresh() {

                        searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,1);

                        xrv.refreshComplete();//刷新完成

                    }

                    @Override

                    public void onLoadMore() {

                        page++;

                        searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,page);

                        xrv.loadMoreComplete();//停止加载

                    }

                });

            }

        });

    }

    private void setLVAdapter() {

        //设置适配器

        final LVAdapter adapter = new LVAdapter(MainActivity.this,data);

        xrv.setAdapter(adapter);

        //设置管理器

        xrv.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayout.VERTICAL,false));

    }

    private void setGVAdapter() {

        //设置适配器

        final GVAdapter adapter = new GVAdapter(MainActivity.this,data);

        xrv.setAdapter(adapter);

        //设置管理器

        xrv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: