【问题标题】:AsyncTask OnPostExecute interface listener java.lang.NullPointerException errorAsyncTask OnPostExecute 接口监听器 java.lang.NullPointerException 错误
【发布时间】:2023-03-25 17:13:01
【问题描述】:

首先,我的 AsyncTask 在获取数据以显示在我的活动中时运行良好。但是当我点击开始另一个活动时,我在这里得到java.lang.NullPointerException 错误:

protected void onPostExecute(JSONObject jsonArray) {
        //super.onPostExecute(jsonArray);
        Error Here -> onTaskComplete.setMyTaskComplete(jsonArray);
        if(pDialog != null)
            pDialog.dismiss();
        /*if(jsonArray != null){
            arrVer(jsonArray);
        }*/
    }

有人知道可能导致问题的原因吗?

【问题讨论】:

  • 也许onTaskCompletejsonObject 为空?你检查了吗?
  • 什么是 onTaskComplete?检查似乎这是空的,以获得更好的建议发布日志
  • java.lang.NullPointerException at com.example.deathstar.ankettest.Kategoriler.onPostExecute(Kategoriler.java:110) at com.example.deathstar.ankettest.Kategoriler.onPostExecute(Kategoriler.java:28 ) 在 android.os.AsyncTask.finish(AsyncTask.java:632) 在 android.os.AsyncTask.access$600(AsyncTask.java:177) 在 android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
  • 而且 jsonObject 不为空,我检查了它。还有ontaskcomplete。 ontaskcomplete 是 asynctask 的一个接口,用于将它的数据传递给 asctivity。

标签: android interface android-asynctask listener


【解决方案1】:

试试这个...

protected void onPostExecute(JSONObject jsonArray) {
        //super.onPostExecute(jsonArray);

    if(jsonArray!=null){
        onTaskComplete.setMyTaskComplete(jsonArray);
        if(pDialog != null)
            pDialog.dismiss();
        //rest of your code
    }
}

PS:

确保您收到 JSONObjectJSONArrayString 作为此函数的参数。这可能是Exceptions 的原因。

【讨论】:

  • 很明显jsonArray这里不是问题...jsonArray会是问题setMyTaskCompletesetMyTaskComplete实现中会出现错误...
  • @Selvin:不久前我经历过这种情况。这就是为什么我告诉他把支票放在那里NullPointerException。如果还有其他可以检测到的问题,但我们必须解决这个问题。
  • stacktrace 以onPostExecute 结尾...即使jsonArraynull 它也不会导致onPostExecute 中的NPE ...您的回答很好...但不适用于这个问题(以外交方式告诉你这不是一个有效的答案)
  • 它会......在某些情况下,当 AsyncTask 无法正确完成其执行时。它将向onPostExecute 抛出空响应。比如超时、未找到服务器等情况。
  • 好的,就这样吧。如果您有更好的解决方案,请发布您的答案,否则请等待提出此问题的用户。如果您无法提供帮助,请不要向其他试图提供帮助的人提供建议。
猜你喜欢
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 2016-09-17
  • 2012-06-15
  • 2014-08-07
相关资源
最近更新 更多