gpt4 book ai didi

java - Android:应用程序关闭后,应用程序在 onTaskCompleted 崩溃

转载 作者:搜寻专家 更新时间:2023-11-01 08:41:52 24 4
gpt4 key购买 nike

我正在使用 http 执行一些异步任务以获取一些数据。

当我在异步操作过程中关闭应用程序时,我收到 NullPointerException 错误。这似乎正在发生,因为正在完成异步任务并调用 onTaskCompleted;但是该应用程序已经关闭。

有人知道怎么处理吗?

我正在运行 Android Studio,Android 版本 4.4.2。盖乐世 S4。

java.lang.NullPointerException
at com.example.lu.seed_2.Tabs.Tab4$3.onTaskCompleted(Tab4.java:174)
at com.example.lu.seed_2.ArticleAsync.onPostExecute(ArticleAsync.java:36)
at com.example.lu.seed_2.ArticleAsync.onPostExecute(ArticleAsync.java:11)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)

根据要求,这里是onTaskComplete代码

articles = convertJsonToArticles(httpResult.getBody());
articleAdapter = new ArticleAdapter(getActivity().getApplicationContext(), articles); //<-- APP CRASHES HERE
listView = (ListView) getActivity().findViewById(R.id.mobile_list4);
listView.setAdapter(articleAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(getActivity().getApplication(), WebViewActivity.class);
intent.putExtra("_id", articles.get(i).getId());
startActivity(intent);
}
});
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int scrollState) {

}

@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int itemsLeftCount = totalItemCount - firstVisibleItem;

if (itemsLeftCount > 8) {
return;
}

if (isLoadingMore == true) {
return;
}
loadMoreArticles();
}
});
listView.addFooterView(footerView);
showNotLoading();
v.refreshComplete();

最佳答案

也许你应该在onStop()中取消所有的任务,如果在循环中,检查是否在doInBackground()中取消。还要检查空引用。

关于java - Android:应用程序关闭后,应用程序在 onTaskCompleted 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31830755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com