2010-12-21 45 views
3

對於ListView控件,當您註冊一個OnItemClickListener,你指定的方法是這樣的:爲什麼Android的onItemClick需要很長的行ID?

公共抽象無效onItemClick(適配器視圖父,觀景,INT位置,長ID)

的ID對應於用戶點擊的行。我的問題只是爲什麼它是一個很長的而不是一個整數?你什麼時候會使用它?當我使用它時,我一直在將它轉換爲int,所以它讓我覺得可能我錯了。

+1

如果您使用函數來獲取返回long的'id',請不要將其轉換爲int。 – marcog 2010-12-21 01:39:58

回答

7

我覺得這直接涉及到我們從SQLite

SQLite中,每個表 的每一行都有一個64位有符號整數ROWID。 每行的ROWID在 同一個表中的所有行中都是唯一的。

鑑於此,Android API將爲數據庫行指定64位的ID似乎很自然。

+0

如果您將ListView與例如光標適配器一起使用,則id參數將包含結果集的_id列。這使得進一步查找等變得容易。 – 2012-04-30 20:37:40

1

以防萬一你想要超過幾百萬行。

+1

你的意思是幾十億(準確地說是2147483647)。 – marcog 2010-12-21 01:38:09

+1

如果你想成爲技術人員,沒有理由對其進行簽名,所以加倍#。 – HaMMeReD 2010-12-21 01:51:20