2014-09-26 3 views
-2

Как я могу получить массив в правильном направлении? Я попытался это:Как получить массив в правильном направлении?

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

, но он не работает так хорошо, Im уверен, что его возвращает нулевое значение .. Есть идеи?

+2

ли возвращать нуль, или не так ли? Установите контрольную точку или проверьте ее с помощью инструкции 'if' или распечатайте значение и посмотрите. Нет необходимости гадать. –

+0

Как выглядит ваш запрос? Я дал вам этот код в другом вопросе, и вы сказали, что это сработало для вас, так что это не так. – Dehli

+0

@DavidConrad Его возврат нуль точно. Я проверил. Запрос: http://prntscr.com/4qivpp – user2697241

ответ

0

Попробуйте .it будет work.it работал для меня, когда я тестировал

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

+0

OMG Спасибо бурый короткоклювый дрозд много, работает?! – user2697241

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

+0

Это то, что я пробовал: http://prntscr.com/4qlqx9 @Akshat Агарвал – user2697241

0

Сначала вы должны проверить, что массив который вы хотите получить, является нулевым или нет. Должны соблюдаться следующие шаги:

Шаг 1: объявить список для сохранения найденного массива в этом списке

Шаг 2: убедитесь, что извлеченный массив является нулевым или не

Шаг 2 (а): если оно равно нулю правопреемником нуль в список

Шаг 2 (б): если нет, то вы получите желаемое значение массива

Programmatic Описание:

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; 
         } 

        } 

       } 


     } 
    });