我怎么知道CursorWindow上有多少列?
为什么尽管有getNumRows()却有getNumColumns()但没有setNumColumns()

最佳答案

我以这种最可怕的方式做到了:

/**
 * 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;
}


我不建议使用这个。如果有人遇到相同的问题并且需要快速解决方案以进行迁移,则只需发布即可。

09-26 05:59