Say we have list of object as follows,
Mostly we use adaptor to fetch the item to show in each cell.
But say some cases we may have to change to order in display. for example. top to bottom as shown below:
But if the control fetch base on position from left to right as show below:
then, we need to add proper calculation inside the adaptor:
int index =position/columns+position%columns*rows;
return list.get(index);
list =
.size() = 14
and need to show it in grid control that scroll vertically as follows,
// assume we want three columns.
int columns = 3;
// first calculate number of rows.
int rows = (columns-1+list.size())/columns;
Or into grid control that scroll horizontally as follows,
//assume we want three rows.
int rows = 3;
// first calculate number of rows.
int columns = (rows-1+list.size())/rows;
Mostly we use adaptor to fetch the item to show in each cell.
In this case adaptor can choose the index equal to position,
int index = position;
return list.get(index);
But say some cases we may have to change to order in display. for example. top to bottom as shown below:
But if the control fetch base on position from left to right as show below:
then, we need to add proper calculation inside the adaptor:
int index =position/columns+position%columns*rows;
return list.get(index);