KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I know this question has asked many times in SO,but i couldn't figure out my exact problem. I am using the following code to get the data from the database(Table1) and update another Table2 based on retrieval value. Its working fine in some android versions but when i gone to test with Android 4.0.3. I am geting this java.lang.IllegalStateException:?.attempt to re-open an already-closed object at sum_cursor.moveToNext(); . I am using this code in AsyncTask. /** Sum of total matched values*/ Cursor sum_cursor = db.gettotalMatchvalue(this); if(sum_cursor!=null) { sum_cursor.moveToFirst(); for(int j=0; j<sum_cursor.getCount();j++) { float totalmatchedscore = sum_cursor.getInt(0); float totalingredients = Float.parseFloat(sum_cursor.getString(sum_cursor.getColumnIndex(APPDatabase.CK_TOTALINCREDIENTS))); /**average = totalscore/totalingredients*/ double average = totalmatchedscore/totalingredients; int id = Integer.parseInt(sum_cursor.getString(sum_cursor.getColumnIndex(APPDatabase.CK_ID))); db.updateAverage(id, average); sum_cursor.moveToNext(); //Here is the problem } } db.close(); My update method coding /** Update average */ public void updateAverage(int id,double average) { SQLiteDatabase db = getWritableDatabase(); ContentValues values = new ContentValues(); values.put(CK_FINALVALUE,average); db.update(TABLE, values,CK_ID+" = "+id , null); } What i am doing wrong here? I know many of you come across this situation. Could you help me guys. Thanks for your help.
Tags (comma-separated)
Save Edits
Cancel