Tuf*_*fan 5 android gridlayoutmanager android-recyclerview
我正在RecyclerView
和GridLayout
经理一起使用,以便像旅行一样预订座位.
我的问题是当我的列是随机的时候如何自动检测spancount?
我知道spanCount = recyclerViewWidth / singleItemWidth;
,但问题是singleItemWidth
不同的,因为座位宽度不同.
这是我想要的所需布局:
...但我现在得到这样的东西:
这是我用来安排座位布局的代码:
gridLayoutManager=new GridLayoutManager(this,totalRows, LinearLayoutManager.VERTICAL,
false);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int rows=Integer.parseInt(upperlist.get(position).get("row"));
return (rows);///(int) (mRecyclerView.getMeasuredWidth()/ 10);
}
});
mRecyclerView.setLayoutManager( gridLayoutManager);
MyAdapter myAdapter=new MyAdapter(this,gridArray);
Run Code Online (Sandbox Code Playgroud)
... upperlist
保持这些值:
[{cols=8, seatNumber=29U, row=4, zindex=1},
{cols=6,seatNumber=23U, row=4, zindex=1},
{cols=4,seatNumber=21U,row=4, zindex=1},
{cols=2, seatNumber=11U, row=4, zindex=1},
{cols=0,seatNumber=9U,row=4, zindex=1},
{cols=8,seatNumber=25U, row=2, zindex=1},
{cols=6,seatNumber=17U, row=2, zindex=1},
{cols=4,seatNumber=13U, row=2, zindex=1},
{cols=2,seatNumber=5U, row=2, zindex=1},
{cols=10, seatNumber=D2U,row=2, zindex=1},
{cols=0, seatNumber=1U, row=2, zindex=1},
{cols=8, seatNumber=26U, row=1, zindex=1},
{cols=6,seatNumber=18U, row=1, zindex=1},
{cols=4,seatNumber=14U, row=1, zindex=1},
{cols=2,seatNumber=6U, row=1, zindex=1},
{cols=0,seatNumber=2U, row=1, zindex=1}]
Run Code Online (Sandbox Code Playgroud)
这是一个单独的列表,我对行和列有不同的值.因此,我需要一种可以适用于所有布局的通用方法.
归档时间: |
|
查看次数: |
4123 次 |
最近记录: |