我有MainActivity
的onBackPressed
的代码调用,所以当我按下后退按钮时,有一个小动画。执行doInBackground()时只有onCreate发生错误
在onBackPressed
只有两行:
@Override
public void onBackPressed() {
dialog = new Dialog(MainActivity.this);
new animationAsyncTask().execute();
}
这工作得很好。
现在在onCreate
相同的活动我试着拨打这一点,所以我删除了上述两条线形成onBackPressed
,并呼吁他们onCreate
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dialog = new Dialog(MainActivity.this);
new animationAsyncTask().execute();
}
然后有一个例外:
error java.lang.RuntimeException: An error occured while executing doInBackground()
带有空指针的
。
我无法弄清楚的是,我没有改变任何东西,它在onBackPressed
中效果不错,但在onCreate
中效果不好。
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: wadinternational.blur, PID: 8821
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:304)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at android.graphics.Bitmap.createBitmap(Bitmap.java:756)
at android.graphics.Bitmap.createBitmap(Bitmap.java:724)
at wadinternational.blur.AppUtils.takeScreenShot(AppUtils.java:31)
at wadinternational.blur.MainActivity$BlurAsyncTask.doInBackground(MainActivity.java:47)
at wadinternational.blur.MainActivity$BlurAsyncTask.doInBackground(MainActivity.java:42)
at android.os.AsyncTask$2.call(AsyncTask.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
报告崩溃时发布完整堆栈跟踪。 –
@Gabe Sechan是的,我知道但我必须把所有与他们联系的类,这就是为什么我把它以这种方式..我会更新问题。但事情是我没有改变任何其他单行除了这两行从onBack到onCreate –
问题是在AsyncTask上,所以请显示代码 – Gatunox