2014-09-26 59 views
-2

如何以正確的方式檢索數組? 我嘗試這樣做:如何以正確的方式檢索數組?

ParseObject parseObject = new ParseObject("test"); 
    List<String> list = parseObject.getList("arr"); 

,但它不工作這麼好,Im相當肯定它的返回null .. 任何想法?

+2

是否返回null,或不是嗎?設置一個斷點,或用'if'語句測試它,或者打印出值並查看。沒有必要猜測。 – 2014-09-26 16:55:32

+0

你的查詢是什麼樣的?我在另一個問題中給了你這個代碼,你說它對你有效,所以不是這樣。 – Dehli 2014-09-26 17:01:14

+0

@DavidConrad肯定會返回null .. 我查過了。 查詢: http://prntscr.com/4qivpp – user2697241 2014-09-26 17:03:10

回答

0

試試這個。它會爲我,當我測試

list = new ArrayList<String>(); 
    ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("test"); 
    query.whereExists("arr"); 
    query.findInBackground(new FindCallback<ParseObject>() { 

     @Override 
     public void done(List<ParseObject> objects, ParseException e) { 
      // TODO Auto-generated method stub 

     if(e==null){ 

      for(int i=0; i<objects.size();i++){ 

       list=objects.get(i).getList("arr"); 

       Log.e("list",list.toString()); 
        } 
     } 

     } 
    }); 
+0

仍然沒有工作:( 任何其他的想法 – user2697241 2014-09-26 22:13:24

+0

OMG謝謝veery多,工作的?! – user2697241 2014-09-26 22:20:12

0

這應該工作 -

ParseQuery<ParseObject> query = ParseQuery.getQuery("TrackedLocation"); 
query.whereEqualTo("imei", helpUtils.getDeviceIDEqualsIMEI()); 
query.setLimit(1000); 
query.findInBackground(new FindCallback<ParseObject>() 
{ 
    @Override 
    public void done(List<ParseObject> dataList, ParseException e) {} 
}); 

來源:Not able to retrieve array from parse.com

+0

仍沒有返回值... – user2697241 2014-09-26 20:00:33

+0

這是我的嘗試: http://prntscr.com/4qlqx9 @Akshat阿加瓦爾 – user2697241 2014-09-26 21:15:01

0

首先工作。它的工作,你應該檢查數組您要檢索的內容是否爲空。請按照以下步驟操作:

步驟1:聲明一個列表用於保存所檢索的陣列中的這個列表

步驟2:檢查檢索數組爲空或不是

步驟2的(a):如果是無效分配空列出

步驟2(b):如果沒有,那麼你將獲得陣列的期望值

方案說明:

List<String> ary_users = new ArrayList<String>(); 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("test"); 
    query.whereExists("arr"); 
    query.findInBackground(new FindCallback<ParseObject>() { 

     @Override 
     public void done(List<ParseObject> userList, 
       ParseException e) { 
      if (e==null) { 
       if (userList.size()>0) { 
        for (int i = 0; i < userList.size(); i++) { 
         ParseObject p = userList.get(i); 
         if (p.getList("arr")!=null) { 
          ary_users = p.getList("arr"); 

         } 
         else 
         { 
          ary_users = null; 
         } 

        } 

       } 


     } 
    }); 
相關問題