2017-09-17 74 views
-1

您好我有來自REST的響應問題。我收到對象JSON解析它,一切都很好,但是當我嘗試將它添加到領域我得到空指針異常。 這是鏈接到我的項目: https://github.com/666Angelus666/MobileDealerNullPointerException:嘗試'null com.mobiledealer.dao.OrderDAO.insertOrUpdate(com.mobiledealer.model.Order)'null對象引用

MainActivity我通話功能synchronizeContractorsItems然後在3次呼叫我是得到錯誤。 Line where i get error

+0

請在問題代碼和堆棧跟蹤,而不是屏幕截圖。 –

+0

你在列表中有'null'.... –

+0

將代碼粘貼到此處。爲了找到需要幫助的代碼,我們不應該深入研究您的回購。 – Beto

回答

0

我看到了你的代碼。我認爲這個問題是因爲你沒有在您的活動初始化orderDAO對象,你必須使用

orderDAO = new OrderDAO(); 


Call<OrderResponse> orderResponseCall = apiService.getOrdersList(); 
     orderResponseCall.enqueue(new Callback<OrderResponse>() { 
      @Override 
      public void onResponse(Call<OrderResponse> call, Response<OrderResponse> response) { 
       orderList = response.body().getOrdersList(); 

       for (Order order : orderList) { 
        try { 
         orderDAO.insertOrUpdate(order); 
        } catch (Exception e) { 
         Log.d("REST", "Error"); 
         e.printStackTrace(); 
        } 
       } 
      }` 

我想,這可能會解決你的問題之前,初始化orderDAO對象。

+0

是的,你是對的,我忘了初始化'orderDAO'後我做代碼開始工作。 Thx尋求幫助。 – Angel666

+0

我很高興知道我可以幫助你!快樂編碼 – UltimateDevil

0

犯罪嫌疑人可能是您的訂單可能是空,可能是一個空檢查將有助於

public void insertOrUpdate(Order order) { 

if(order != null) 

{ 

    realm.beginTransaction(); 
    realm.insertOrUpdate(order); 
    realm.commitTransaction(); 

} 

    }` 
相關問題