vendredi 6 février 2015

Cursor is returning the same rows multiple times from SQLite database

I have written the below method get get some selected rows by the help the id.



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;
}


Its returning the perfect rows, but multiple times. Can any one please suggest me where I did the mistake here.


Aucun commentaire:

Enregistrer un commentaire