2015-09-14 74 views
-6

我只是從互聯網上得到這個api類現在我在我的項目中集成一切工作正常,但只有一個錯誤是構造函數JSONArray是未定義的。構造函數JSONArray(Object [])未定義

private void fireEvent(mEvent event, Object obj) { 
    try { 
     //Called for EVERY event.   //getting error here 
     JSONArray arrayObj = obj instanceof JSONArray ? (JSONArray) obj : new JSONArray(new Object[] {obj}); 
     for (mEventListener listener : listeners) { 
      listener.eventFired(this, event, arrayObj); 
     } 
     //Call the appropriate handler. 
     switch (event) { 
     case waiting: 
      for (mEventListener listener : listeners) { 
       listener.chatWaiting(this); 
      } 
      break; 
     case connected: 
      for (mEventListener listener : listeners) { 
       listener.chatConnected(this); 
      } 
      break; 
+1

歡迎堆棧溢出!請[參觀],環顧四周,閱讀[幫助],特別是[*我如何提出一個好問題?](/幫助/如何問)您已經忘記了實際上問一個問題。它也似乎你可能想看看JSONArray的API文檔,因爲你的標題中的錯誤信息是非常清楚的。 –

+1

我覺得這很難理解,因爲有一個對象構造函數'JSONArray(Object array)'所以任何一個參數都是有效的。顯示確切的錯誤文本。 – weston

+0

你在使用哪一種API?如果我谷歌JSONArray我作爲一個[http://www.json.org/javadoc/org/json/JSONArray.html](http://www.json.org/javadoc/org/json/JSONArray.html)結果,它確實[JSONArray構造函數允許'Object'作爲單個參數](http://www.json.org/javadoc/org/json/JSONArray.html#JSONArray(java.lang.Object))。我同意@weston,如果你確實使用了我已經鏈接的JSONArray類,那麼發生這種錯誤是很奇怪的。 –

回答

1

該構造函數只能從API19:JSONArray(Object array)

因此最有可能的解釋是要編譯針對較低API級別。

您可以使用,雖然收集構造,通過傳遞一個列表:

JSONArray arrayObj = obj instanceof JSONArray 
         ? (JSONArray) obj 
         : new JSONArray(Arrays.asList(obj)); 
+0

好的謝謝但我可以使用JSONArray();而不是因爲日食迫使這樣做 –

+0

1.我不推薦使用eclipse進行android開發。使用Android Studio。不,你不能使用它。我已經添加了可以工作的代碼。 – weston

+0

好的,謝謝我將使用,我會告訴你後面的輸出 –