2012-04-11 47 views
3

我开发了一个android应用程序。它对我们的设备以及大多数设备工作正常。但是有些用户发送了错误报告。为什么java.lang.IllegalStateException:没有事务挂起和如何解决

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) 

为什么这个happends一些devices.Which类型的错误是什么?...我怎样才能解决这个

+0

你解决了这个问题 – Kishore 2012-05-09 08:47:05

回答

0

你叫SQLiteDatabase.endTransaction()而无需先调用SQLiteDatabase.beginTransaction()。所以你试图关闭一个不存在的交易。检查你的代码,或在这里发布相关代码片段,如果你看不到有什么问题。

+0

我在那个doinbackground()方法中使用了endtransaction和begintransaction ........ – sarath 2012-04-11 10:45:05

+0

好吧,显然你并不总是以正确的顺序调用它们。发布您的代码。 – 2012-04-11 10:51:49

+0

我只能发布600个字符......所以我怎么能? – sarath 2012-04-11 11:27:18

相关问题