CursorWindow number of columns

2019-08-03 05:28发布

问题:

How can I know how many columns there are on a CursorWindow? Why it has a getNumRows() but no getNumColumns(), despite having a setNumColumns()?

回答1:

I did it in this most horrible way:

/**
 * Get the number of columns of this CursorWindow. The CursorWindow has to
 * have at least one row.
 */
public static int getCursorWindowNumCols(CursorWindow window) {

    // Ugly hack...
    int j = 0;
    while (true) {
        try {
            window.getString(0, j);
        } catch (IllegalStateException e) {
            break;
        } catch (SQLException e) {
            // It's a BLOB!
        }
        j++;
    }
    return j;
}

I don't recommend using this. Just posting it if someone has the same problem and needs a quick solution to get moving.