-4
    if(cursor.getCount() !=0)
    {

        if(cursor.moveToFirst())
        {
            do
            {
                pObj.gritSize=cursor.getString(cursor
                        .getColumnIndex("grit"));
                pObj.test = cursor.getString(cursor
                        .getColumnIndex("sieve"));
                pObj.number = cursor.getString(cursor
                        .getColumnIndex("number"));
                pObj.micro = cursor.getString(cursor
                        .getColumnIndex("micro"));
                pObj.ret = cursor.getString(cursor
                        .getColumnIndex("retention"));
                pList.add(pObj);

            }while(cursor.moveToNext());
        }
    }
    return pList;

テーブルからデータをフェッチする上記のコードがあります。pObj の各反復で正しい値を取得しています。しかし、pList.add(pObj); を追加すると 毎回、前のエントリを上書きして値を追加しています。したがって、反復の最後に、配列リストの各項目として最後の行を取得しています。助けてください。

4

2 に答える 2

3

同じオブジェクトを何度も使用しています。反復するたびに新しいオブジェクトを作成してみてください。

doループの上で初期化します。例えば;

pObj = new YourClass();

于 2013-08-29T18:12:25.990 に答える