2010-12-21 3 views
3

ユーザーがクリックした行私の質問は、なぜそれが長くてintではないのですか?あなたはいつそれを長く使うのですか?私はそれをint型にキャストしていますので、おそらく私はそれを間違って使っていると思います。なぜAndroidのonItemClickは長い行IDを必要としますか? IDが対応</p> <p>パブリック抽象無効onItemClick(AdapterView親、ビュービュー、int型の位置、長いID)</p> <p>:ListViewの、あなたがOnItemClickListenerを登録する際に、指定したメソッドは次のようになりますため

+1

関数を使用してlongを返す 'id'を取得する場合は、intにキャストしないでください。 – marcog

答えて

7

私は、これはストレートSQLiteから私たちに来ると思う:

SQLiteので

、すべてのテーブル のすべての行は、64ビット符号付き整数のROWIDを持っています。 各行のROWIDは、同じテーブルのすべての行 の間で一意です。

これは、Android APIがデータベース行のIDとして64ビットを指定するのは当然のようです。

+0

たとえば、Cursor AdapterなどでListViewを使用する場合、idパラメータは結果セットの_id列を保持します。これにより、さらにルックアップなどが容易になります。 –

1

数百万行以上が必要な場合に備えて、

+1

あなたは十億を意味します(正確には2147483647)。 – marcog

+1

あなたが技術的になりたいのであれば、それが署名される理由はないので、#を2倍にします。 – HaMMeReD

関連する問題

 関連する問題