良い一日、ティルトが誤解を招かないことを願っています。以下のコードスニペットを見て、コメントされた部分に注目してください。
//if(cursor.moveToFirst()){
if(cursor.moveToNext() == true){
// do {
Log.d(TAG, "Column Name in bindview is " + columnName);
String name = cursor.getString(cursor.getColumnIndexOrThrow(columnName));
Log.d(TAG, " name is " + name);
// } while(cursor.moveToNext());
//}
}
今、私が使用するときだけcursor.moveToNext()
、文字列の値を取得します。上記のコードまたはcursor.moveTofirst()でコメントアウトされているステートメントを"name"
使用すると、文字列のnull値を取得します。do/while
なぜこれが起こっているのか考えてみてください。
*背景:CursorAdapter
*からこれを呼び出し/初期化しonLoadFinished()
ていCursorLoader
ます。