6

2 つのカーソルが同じ値を持つ同じ行を指しているかどうかを確認する必要があります。出来ますか?

詳細:

  1. 私は自分自身からデータをロードしていますContentProvider
  2. サーバーにリクエストを送信し、内部のデータContentProviderを新しい値で更新しています。
  3. 値が変更された場合 - データを更新できることをユーザーに通知する必要があります。
4

2 に答える 2

4

CommonsWareの削除された回答によると:

Cursor 内の関連する列を反復処理し、値を取得して、それぞれを比較します。

各列の型は事前にわからないかもしれませんが、 で調べることができますCursor.getType()Cursor.getColumnNames()を使用して、各列の名前と列数を取得することもできます。

この情報により、正しいアクセサ メソッドを使用して各値を取得し、比較することができます。

于 2013-02-11T13:51:56.287 に答える
3

SQLiteでは、行には列値とは別のIDがありません(ただし、ROWIDはこれらの値の1つです)。

必要なのは、データにカーソルの一部としていくつかの一意の列があることROWID、または重複がないことが保証されている他のキー値が必要です。

そうしないと、表示されているのが、それらの列に同じ値を持つ2つのレコードだけであるかどうかを知ることができません。

于 2013-02-11T14:01:29.880 に答える