我有一个导航抽屉,在我的一个片段上,有一个运行的aysnctask,每10秒运行一次。然后当我离开那个特定的片段继续我的应用程序的其他片段时,我的应用程序崩溃并出现致命异常错误
我怎么能停止运行asynctask就是从这里我将停止它:
Fragment fragment = null;
int counter;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new ProfileFragment();
break;
case 2:
fragment = new ControllerFragment();
break;
这是我的日志猫:
01-28 00:23:50.236: E/AndroidRuntime(7756): FATAL EXCEPTION: AsyncTask #2
01-28 00:23:50.236: E/AndroidRuntime(7756): java.lang.RuntimeException: An error occured while executing doInBackground()
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.os.AsyncTask$3.done(AsyncTask.java:299)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.lang.Thread.run(Thread.java:856)
01-28 00:23:50.236: E/AndroidRuntime(7756): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.os.Handler.<init>(Handler.java:121)
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.widget.Toast$TN.<init>(Toast.java:361)
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.widget.Toast.<init>(Toast.java:97)
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.widget.Toast.makeText(Toast.java:254)
01-28 00:23:50.236: E/AndroidRuntime(7756): at com.example.myandroidphp.ControllerFragment$activityIns.doInBackground(ControllerFragment.java:665)
01-28 00:23:50.236: E/AndroidRuntime(7756): at com.example.myandroidphp.ControllerFragment$activityIns.doInBackground(ControllerFragment.java:1)
01-28 00:23:50.236: E/AndroidRuntime(7756): at android.os.AsyncTask$2.call(AsyncTask.java:287)
01-28 00:23:50.236: E/AndroidRuntime(7756): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
01-28 00:23:50.236: E/AndroidRuntime(7756): ... 5 more