こんにちはこれは私の2番目の質問です。私は次の表を持っています
|-----|-------|------|------|
|._id.|..INFO.|.DONE.|.LAST.|
|..1..|...A...|...N..|......|
|..2..|...B...|...Y..|..L...|<--- cursor.moveToPosition((int)_id-1);
|..3..|...C...|...Y..|......|
|..4..|...D...|...Y..|......|
|..5..|...E...|...N..|......|
|..6..|...F...|...N..|......|
|-----|-------|------|------|
私はコードを使用します:
cursor = db.query(TABLE_NAME, new String[]{INFO,DONE,LAST},null,null,null,null,null);
cursor.moveToPosition((int)_id-1);
String Yval = cursor.getString(cursor.getColumnIndex(DONE));
do
{
cursor.moveToNext();
Yval= cursor.getString(cursor.getColumnIndex(DONE));
}
while (Yval=="Y");
s = Yval;
最初にカーソルを最後にアクセスした行にポイントし、次にループを作成してDONE列の値を調べ、列の行にYがある場合は停止しません。ループにNが表示されると、ループは停止します。しかし、それは機能しません。Yvalが「Y」と等しくなることはありません。したがって、カーソルは1つの「moveToNext」を実行してからループを終了します。これは、Yvalを「Y」として読み取らないためです。(私もすべてを整数に変更しました。Nは1、Yは0ですが、それでも機能しませんでした)では、ここで何が間違っているのでしょうか。