public static List<LinearLayout> createAndAddStandardColumnView(final Context ctx, final LinearLayout root, final ViewGroup parent, final int columnCount, final boolean withSeparator) {
        final List<LinearLayout> columns = new ArrayList<>();
        for (int i = 0; i < columnCount; i++) {
            final LinearLayout colLl = new LinearLayout(ctx);
            columns.add(colLl);
            colLl.setOrientation(LinearLayout.VERTICAL);
        }

        final ViewGroup colGroup = createColumnView(ctx, root, columnCount, withSeparator, columns::get);
        if (parent != null) {
            parent.addView(colGroup);
        }

        return columns;

    }
creates a standard column layout and adds it to a given parent view. A standard layout consists of a vertically orientated LinearLayout per column.

@param ctx           context to use for creating views
@param root          optional. If given, then the column layout will be created IN the given view instead of returning a new one.
@param parent        the parent layout to add the new column view to. May be null (if root is not null)
@param columnCount   number of columns the layout shall have
@param withSeparator if true, a vertical separator line will be drawn between columns
@return created linearlayouts, one per column
main/src/main/java/cgeo/geocaching/ui/ViewUtils.java