2013-06-20 138 views
-2

我有存储静态主变量(应用程序的计算器)的主类(扩展应用程序)。 if (!_.calc.Calculated) CALCULATE_();变量空指针异常

_ extends Application 

如何解决它:所以暂停该应用程序(home键或调用)

06-21 00:43:14.916: E/AndroidRuntime(26676): FATAL EXCEPTION: AsyncTask #1 
06-21 00:43:14.916: E/AndroidRuntime(26676): java.lang.RuntimeException: An error occured while executing doInBackground() 
06-21 00:43:14.916: E/AndroidRuntime(26676): at android.os.AsyncTask$3.done(AsyncTask.java:299) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.lang.Thread.run(Thread.java:856) 
06-21 00:43:14.916: E/AndroidRuntime(26676): Caused by: java.lang.NullPointerException 
06-21 00:43:14.916: E/AndroidRuntime(26676): at com.AMain$CalcTask.doInBackground(AMain.java:106) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at ru.ps.horoscope.AMain$CalcTask.doInBackground(AMain.java:1) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-21 00:43:14.916: E/AndroidRuntime(26676): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
06-21 00:43:14.916: E/AndroidRuntime(26676): ... 5 more 

106串后?

 @Override 
      protected Void doInBackground(Void... arg0) { 
       // TODO Auto-generated method stub 
if (!_.calc.Calculated) CALCULATE_(); 
       return null; 
      } 
+2

你必须提供更多的代码。但要回答,有一些你不初始化(显然设置为空) –

+0

你可以请你的代码在你的doInBackground()吗? – verybadalloc

+0

_.calc被定义并得到了很多计算。没有onresume,onstart,onpause,onstop。只是按住回家。有时候所有作品都是正确的但是在调用应用程序之后就会退出。 – Vyacheslav

回答

0

_calc为空。您需要发布代码才能获取比此更多的信息。

+0

public class _ extends Application {etc ...和static _Calc calc;他们在之前定义并且有大量计算 – Vyacheslav

+1

您是否在清单中指定了'_'作为您的应用程序?例如。 ''?你是否初始化了'_Calc'? – Dororo

+0

<应用程序android:name =“com.your.package.name._” - 是否隐藏?可能是这是错误。我没有添加它。 – Vyacheslav