我正在尝试实现一个与 RedBus 应用程序非常相似的巴士座位预订应用程序。我偶然发现了那里的座位安排,我在那里被打动了。
我真的需要你的帮助来实现这个目标。我尝试过使用 Recycler View,但这并没有让我进入确切的布局。
我尝试过使用回收站 View ,我的布局是这样的,
但是,redbud 应用程序的实际屏幕截图如下,
我已经完成了 git 中可用的代码之一
https://github.com/TakeoffAndroid/SeatBookingRecyclerView
但是,使用上面的代码,我可以获得布局设计,但问题是,如果有 41 个座位,但是使用上面的 git 代码它将显示 33 个座位在屏幕上出现,
非常感谢您的帮助。
fragment 代码:
numOfColumns = 4;
mArrayBusSeats = new ArrayList<>();
for (int i = 0; i < mArraySeats.size(); i++) {
if (i % numOfColumns == 0 || i % numOfColumns == (numOfColumns - 1)) {
BusLayoutModel model = mArraySeats.get(i);
model.setSeatType(AbstractItem.TYPE_EDGE);
mArrayBusSeats.add(model);
} else if (i % numOfColumns == 1 || i % numOfColumns == (numOfColumns - 2)) {
BusLayoutModel model = mArraySeats.get(i);
model.setSeatType(AbstractItem.TYPE_CENTER);
mArrayBusSeats.add(model);
} else {
BusLayoutModel model = new BusLayoutModel();
model.setSeatType(AbstractItem.TYPE_EMPTY);
mArrayBusSeats.add(model);
}
}
最佳答案
在您的示例中,您的 recyclerview
有 3 个 viewType
- TYPE_EDGE、TYPE_CENTER、TYPE_EMPTY
,即座位有3种类型。正如你的问题
Say like if there are 41 seats, but using the above git code it will be showing 33 seats
事实上,这是预期的行为,因为您的 recyclerview
由 viewtype
- TYPE_EMPTY
组成,它打印一个空看法。因此,如果您提供 41 个座位
,则只有 33 个是可见的,因为其余座位的类型是 TYPE_EMPTY
。如果您也计算 recyclerview
中的空位置,那么您可以看到总数为 41。
关于android - 巴士座位安排与RedBus,Android相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48352575/