2014-12-20 3 views
1

Когда я вызываю Parse метод getList («некоторый столбец»), я всегда получаю NullPointerException. Что я должен делать, чтобы избежать этого? Вот кодNullPointerException при использовании Parse

ParseObject someObj = new ParseObject("Some table"); 
someObj.put("some column", "some text"); 
someObj.saveInBackground(); 

List<String> someList = someObj.getList("some column"); 
Toast.makeText(getApplicationContext(), someList.get(0), Toast.LENGHT_LONG).show() 
+0

Не могли бы вы разместить свой код ParceObject? – issathink

+0

ParceObject - это класс из библиотеки. См. На Parce.com. – Stopfan

+0

parce.com недоступен. Я думаю, вы имеете в виду «parse.com», если это имя класса ParseObject, а не ParceObject. – issathink

ответ

2

Я думаю, что вы не получаете NPE в List<String> someList = someObj.getList("some column"); Я думаю, что getList возвращается null и вы получаете NPE, когда вы пытаетесь получить первый элемент в этом списке следующая строка: someList.get(0).

In ParseObject api for android:

getList возвращает нулевое значение, если нет такой ключ, или если значение не может быть преобразовано в список

Так, так как вы установки some text строковое значение для some column введите someObj.put("some column", "some text"), вы не можете получить это значение как List, используя getList("some column"), поэтому просто используйте get("some column").

+0

Нет, 'someList.get (0)' будет вызывать 'IndexOutOfBoundsException', если бы он имел размер 0. –

+1

@pbabcdefp' getList' не возвращает список размером 0, возвращает 'null', поэтому' get (0) 'on 'null' object throws' NullPointerException' не 'IndexOutOfBoundsException'. – albciff

+0

Хорошая точка. извинения –

Смежные вопросы