Получить данные с parse.com и заполнить текстовое поле

Это у меня в голове. Я заработал на iOS примерно за 10 минут. Явно что-то упускаю. Я просто пытаюсь вытащить данные из parse.com в текстовое поле. Я нашел много примеров, но ни один из них не объясняет, почему это работает неправильно. Ниже приведен код, взятый с сайта parse.com и дополненный. Между прочим, он работает с totemList.getString, особенно с частью «getString».

 ParseQuery<ParseObject> query = ParseQuery.getQuery("Birds");
           query.whereEqualTo("totemName", "Pigeon");
           query.findInBackground(new FindCallback<ParseObject>() {
               public void done(List<ParseObject> totemList, ParseException e) {
                   if (e == null) {
                       Log.d("score", "Retrieved " + totemList.size() + " scores");
                       String totemDesc = totemList.getString("totemDesc");
                       //Get the Totems Description
                       TotemDescription = (TextView)findViewById(R.id.animalDesc);
                       TotemDescription.setText(totemDesc);
                   } else {
                       Log.d("score", "Error: " + e.getMessage());
                       // something went wrong
                       TotemDescription = (TextView)findViewById(R.id.animalDesc);
                       TotemDescription.setText("not bob");
                   }
               }
           });

person Jeremy    schedule 08.08.2013    source источник
comment
Какую ошибку вы получаете?   -  person Héctor Ramos    schedule 08.08.2013
comment
не может разрешить метод 'getString (java.lang.String);   -  person Jeremy    schedule 08.08.2013
comment
Кстати, Гектор, это прямо с сайта parse.com, и при кодировании этого ни одно животное не пострадало...   -  person Jeremy    schedule 08.08.2013
comment
Можете ли вы опубликовать ссылку на конкретный документ, в котором есть этот пример кода?   -  person Héctor Ramos    schedule 08.08.2013
comment
Привет, Гектор, не беспокойся. Он находится в разделе «Документы» для сохранения объектов (извлечение объектов parse.com/docs/android_guide. Единственный что я изменил, так это явно таблицу, которую я скрывал, и findInBackground, а не getInBackground. HTH. Сейчас я собираюсь попытаться извлечь изображение из синтаксического анализа для Android ... без сомнения, я вернусь с дополнительными вопросами .. хе-хе   -  person Jeremy    schedule 09.08.2013


Ответы (1)


List‹> не имеет метода getString().

List<ParseObject> totemList

Возможно, вы хотели перебрать список ParseObject, чтобы получить все описания:

String descriptions = null;
for (ParseObject totem : totemList) {
    if (descriptions == null) {
        descriptions = totem.getString("totemDesc");
    } else {
        descriptions = descriptions + ", " + totem.getString("totemDesc");
    }
} 

Что-то такое. Затем установите полученную строку как текст вашего текстового поля.

TotemDescription.setText(descriptions); 

Если у вас есть более одного объекта ParseObject в вашем списке‹>, ваш текст будет примерно таким:

Pigeon Totem, Another Pigeon Totem
person Marat Garafutdinov    schedule 08.08.2013
comment
Привет, Марат, я только что прочитал это, когда появился твой ответ. Зачем бы они использовали его на примере сайта, если бы это было не так? Если List‹› не следует использовать, что следует использовать? В iOS это простой PFObject, тогда вы просто запрашиваете у объекта конкретный атрибут, который хотите. то есть из ряда данных дайте мне имя или дайте мне описание. - person Jeremy; 08.08.2013
comment
Список‹› — это просто упорядоченный набор элементов — в вашем случае РазобратьОбъект. Похоже, что обратный вызов дает вам набор этих элементов, и вы можете вызвать getString(totemDesc) для каждого из них, чтобы получить ваши описания. - person Marat Garafutdinov; 08.08.2013
comment
То есть вы имеете в виду вызов его непосредственно в вызове TextView? Это то, что вы имеете в виду? У вас есть пример того, что вы предлагаете? - person Jeremy; 08.08.2013
comment
Для меня это имеет логичный смысл, как вы предложили, но все равно потерпели крах. Только на этот раз меня не предупредили... - person Jeremy; 08.08.2013
comment
Взгляните на свои выходные данные LogCat, чтобы увидеть, где произошел сбой/проблема, и продолжайте оттуда. К сожалению, я не могу сказать вам намного больше, не имея более подробного представления о вашем проекте и о том, что такое сбой. - person Marat Garafutdinov; 08.08.2013
comment
ХАХАХА полностью согласен с тем, что logcat был совершенно пуст. Я работаю над перезапуском всего проекта, чтобы посмотреть, смогу ли я поймать ошибку. - person Jeremy; 08.08.2013
comment
Хорошо, дошло до ошибки без сбоев. Я получаю java.lang.NullPointerException, которое указывает на эту строку. TotemDescription.setText(описания); - person Jeremy; 08.08.2013
comment
Дер... забыл добавить в TotemDescription = (TextView)findViewById(R.id.animalDesc); - person Jeremy; 08.08.2013
comment
Теперь работает отлично! Спасибо друг. Вам достались баллы. - person Jeremy; 08.08.2013