Android arraylist值是重复的

use*_*448 -4 java sqlite android arraylist

    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;
Run Code Online (Sandbox Code Playgroud)

我有上面的代码从表中获取数据.我在pObj的每次迭代中得到正确的值.但是当我添加pList.add(pObj); 每次,它都会覆盖前一个条目并添加值.因此,在迭代结束时,我将最后一行作为arraylist中的每个项目.请帮忙.

laa*_*lto 7

为每次迭代创建一个新实例:

do {
     pObj = new YourObjectType();
     ....
} while (...);
Run Code Online (Sandbox Code Playgroud)