這是我的情況。我有這樣的AsyncTask:AsyncTask nullPointerException後退按鈕
private class Logo extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
try {
// Connect to the web site
Document document = Jsoup.connect(BLOG_URL).get();
// Using Elements to get the class data
// Locate the src attribute
for(Element img : document.select("div.col-1-1 .image img[src]")) {
String ImgSrc = img.attr("src");
// Download image from URL
InputStream is = new java.net.URL(ImgSrc).openStream();
//add Bitmap to an array
bitmap.add(BitmapFactory.decodeStream(is));
}
} catch (IOException e) {
e.printStackTrace();
Log.e("ESEMPIO", "ERRORE NEL PARSING DELLE IMMAGINI");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
ParsingAdapterCategorie adapter = new ParsingAdapterCategorie(getActivity(), titoli, bitmap, data);
lista.setAdapter(adapter);
}
}
如果我按後退按鈕它像一個日誌錯誤崩潰:
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:166)
這是因爲活動的結果是空的,我想。我能做什麼?
你的問題是在適配器的構造函數。 – Blackbelt
您的AsynchTask正在後臺運行,但您的活動已完成,因此它是空的。 –
適配器工作正常..一切正常..只有當我退出應用程序才完成 –