首页 > 解决方案 > Recycleview onclick如何切换到垂直和水平Linearlayoutmanager

问题描述

我正在寻找实现 Button 以在水平和垂直布局之间切换回收视图。如果 Recycleview 最初处于垂直位置,则在单击按钮时更改为水平位置,反之亦然。

我的逻辑是

 mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
 //If Recycleview is in Horizontal then 
   mRecyclerView.setLayoutManager(new    LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));

 //If Recycleview is in Vertical then 
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));

}

提前致谢。

标签: androidandroid-recyclerview

解决方案


迟到的答案但希望有人会觉得这有帮助

科特林代码

var directionFlag = 0

    binding.yourView.setOnClickListener {
    
                binding.yourRecycleView.layoutManager = LinearLayoutManager(
                    this,
                    1 - directionFlag, false
                )
                directionFlag=1-directionFlag
            }
        }

Java 代码

view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                recyclerView.setLayoutManager(new
                        LinearLayoutManager(this,
                        1 - directionFlag, false));
                directionFlag =1-directionFlag;

            }
        });

推荐阅读