我在parse.com上有一个名为Messages的课程。我创建了一个名为sent of type string的列,它存储了必须向其发送消息的用户的object-id。 在我的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();
}
我无法理解为什么if条件没有实施,我做错了什么。 我怎样才能检索已发送列中的字符串? 请随时询问所需的更多信息。
答案 0 :(得分:1)
我不是专家,但我认为您的问题是:
如果您需要比较两个字符串,则必须使用equals()
而不是==
将==
更改为equals()
一切正常
注意:==
检查对象的引用是否相等。
注意:equals()
此方法将此字符串与指定的对象进行比较。当且仅当参数不为null并且是表示与此对象相同的字符序列的String对象时,结果才为真