2012-08-03 41 views
1

如何知道CursorWindow上有多少列? 爲什麼它有getNumRows()但是沒有getNumColumns(),儘管有setNumColumns()CursorWindow列數

+1

爲什麼「以上帝的名義」是你首先要自己處理一個「CursorWindow」? – CommonsWare 2012-08-03 10:37:27

+0

[這裏解釋太長](http://stackoverflow.com/questions/11790893/passing-a-cursor-between-processes-parcelable-cursor)TLDR:因爲它是唯一的'Cursor'-thingy實現'Parcelable '。 – m0skit0 2012-08-03 12:58:14

回答

2

我做到了,在這個最可怕方式:

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

使用此不推薦。如果有人遇到同樣的問題並需要快速解決方案才能發佈,請立即發佈。

相關問題