2014-09-19 70 views
1

我在parse.com中有一个名为Messages的类。我创建了一个名为“发送”类型字符串的列,其中存储了消息必须发送到的用户的对象标识。 在我的Android应用程序中,我想检索当前用户的消息。 但我的应用程序不显示任何消息。如何从解析对象中获取数据?

这是我如何实现它 -

public void done(List<ParseObject> postList, ParseException e) { 
setProgressBarIndeterminateVisibility(false); 
if (e == null) { 
// If there are results, update the list of posts 
// and notify the adapter 
posts.clear(); //posts is a list of <TextMessage> 
//TextMessage is a class which holds the details of Messages (parse object) 

for (ParseObject msg : postList) { 

if(msg.getParseUser("sent")==ParseUser.getCurrentUser()) 
{ 
    TextMessage note = new TextMessage(msg.getObjectId()); 
    posts.add(note); 
} 

} 
    ((ArrayAdapter<TextMessage>) getListAdapter()).notifyDataSetChanged(); 
} 

我不明白为什么,如果没有得到执行的条件下,我在做什么错。 我还能如何检索发送列中的字符串? 随时要求提供更多所需信息。

+0

一个字符串对象中的结果为真,如果(msg.getParseUser(“发送”)= = ParseUser.getCurrentUser()),比较字符串? – 2014-09-19 19:13:40

+0

是的,我在这里比较字符串。 – Ish 2014-09-19 19:56:14

+0

阅读文档..返回类型的“getCurrentUser()'是一个用户对象不是一个字符串.... ParseUser user = ParseUser.getCurrentUser(); – 2014-09-19 20:11:05

回答

1

我不是机器人专家,但我觉得你的问题是:

如果照顾你比较两个字符串,则必须使用equals()==

变化==equals()一切正常

注意==检查对象的引用是否相等。

注意equals()此方法将此字符串与指定的对象进行比较。当且仅当该参数不是null,并且是表示字符的相同序列与此对象

read about equals()

在此行
+1

它的工作就像一个魅力!非常感谢。 – Ish 2014-09-19 20:49:10