繁体   English   中英

Android Recyclerview:在单击按钮时将行从线性更改为网格

[英]Android Recyclerview : change row from linear to grid on button click

在按钮上单击,我想将列表视图更改为购物车页面上的gridview,但是我的布局看起来像下面所示的链接。

//For displaying the row as linear list view        
case R.id.ivGrid:
    ivList.setVisibility(View.VISIBLE);
    ivGrid.setVisibility(View.GONE);
    LinearLayoutManager llm = new LinearLayoutManager(context);
    rcvProducts.setLayoutManager(llm);
    break;

//For displaying the row as gridview
case R.id.ivList:
    ivList.setVisibility(View.GONE);
    ivGrid.setVisibility(View.VISIBLE);
    GridLayoutManager glm = new GridLayoutManager(this,2,GridLayoutManager.VERTICAL, false);
    rcvProducts.setLayoutManager(glm);
    break;

网格视图

列表显示

只需使用GridLayoutManager并将范围计数从1更改为2,然后再次更改即可。

view.setOnClickListener(new View.OnClickListener(){
    public void onClick(View view){
        GridLayoutManager layoutManager = (GridLayoutManager) grid.getLayoutManger();
        layoutMananger.setSpanCount(layoutManager.getSpanCount() == 2 ? 1 : 2);
    }
})
  1. 维护2个适配器,一个用于ListView,一个用于GridView。
  2. 单击按钮后,将适配器更改为RecyclerView。
  3. Listview.setAdapter(gridAdapter)(或)ListView.setAdapter(listAdapter)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM