Why java.lang.IllegalStateException: no pending transaction and how to solve it

I developed one application for Android. It works great for our device and most devices. But some users sent an error report.

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: java.lang.IllegalStateException: no transaction pending
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:610)
at com.footy.fixture.FixtureActivity$ProgressTask.doInBackground(FixtureActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)

Why is this happening for some devices. What type of error is this? ... How can I solve this problem?

+3
source share
1 answer

You called SQLiteDatabase.endTransaction()without the first call SQLiteDatabase.beginTransaction(). Thus, you are trying to close a transaction that does not exist. Inspect your code or post relevant snippets here if you don’t see what’s wrong.

0
source

All Articles