Cursor从SQLite数据库多次返回相同的行

时间:2015-02-07 05:42:51

标签: android sqlite cursor

我已经编写了以下方法,通过帮助获取一些选定的行。

public ArrayList<IncidentCategoryHolder> getAllImageSource(String contractTypeId){
    ArrayList<IncidentCategoryHolder> data = new ArrayList<IncidentCategoryHolder>();
    Cursor cursor=null;

    cursor =  ourDatabase.rawQuery("select "+NAME+","+BACKGROUND_COLOR+" from " 
                          + INCIDENT_CATAGORY_TABLE + " where " 
                          + CONTRACT_TYPE_ID + " = ?", new String[] { contractTypeId });

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        String text = cursor.getString(cursor.getColumnIndex(NAME));
        Log.v("Text", text);
        String png = cursor.getString(cursor.getColumnIndex(BACKGROUND_COLOR));

        IncidentCategoryHolder mHolder = new IncidentCategoryHolder();
        mHolder.setName(text);
        mHolder.setBackgroundColor(png);
        data.add(mHolder);
        cursor.moveToNext();
    }

        cursor.close();

    return data;
}

它返回完美的行,但多次。任何人都可以建议我在这里犯错了。

0 个答案:

没有答案