带有查询的Android ListView

Rhynoboy2009

我有多个查询,以在两个特定用户之间的某个聊天中获取所有消息。我想也可以在for循环中说,仅在用户名等于当前用户时执行操作。我想要这样做是因为,例如,我正在为当前用户创建聊天气泡,并希望来自非当前用户的文本对象说“发件人:第二用户”,而来自当前用户的文本对象要说“来自:当前用户”。我使用for循环的任何内容,即使使用if语句,它也使用if语句的实际逻辑,说是否正确,执行此操作。我该如何解决这个问题?万分感谢!这是我的代码。附言:我知道这不是做到这一点的方法,而只是举一个我希望它如何工作的例子。

ParseQuery<ParseObject> messageList = ParseQuery.getQuery("Messages");

                messageList.whereEqualTo("to_user",user.getUsername());
                messageList.whereEqualTo("from_user",recipient_Name);

                ParseQuery<ParseObject> messageList2 = ParseQuery.getQuery("Messages");
                messageList2.whereEqualTo("to_user",recipient_Name);
                messageList2.whereEqualTo("from_user",user.getUsername());

                List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
                queries.add(messageList);
                queries.add(messageList2);

                ParseQuery<ParseObject> mainQuery = ParseQuery.or(queries);
                mainQuery.orderByDescending("createdAt");
                mainQuery.findInBackground(new FindCallback<ParseObject>() {

                    @Override
                    public void done(List<ParseObject> objects, ParseException e) {
                        // TODO Auto-generated method stub
                        if(e == null){
                            for (ParseObject message : objects) {

                                if(message.get("from_user") == user.getCurrentUser()){
                                 adapter.add("From: Current User");
                                    }else if(message.get("from_user") != 
                                 user.getCurrentUser()){
                             adapter.add("From: Second User");
                                  }
                            }
                        }
                        adapter.notifyDataSetChanged();
                    }
                });

            }
达风

==用来比较对象。在Java中这是不行的。

在Java中,应该使用比较对象equals方法Object

您的代码:

if(message.get("from_user") == user.getCurrentUser()) {
    adapter.add("From: Current User");
} else if(message.get("from_user") != user.getCurrentUser()) {
    adapter.add("From: Second User");
}

应该更改为:

if(message.get("from_user").equals(user.getCurrentUser())) {
    adapter.add("From: Current User");
} else if(message.get("from_user").equals(user.getCurrentUser())) {
    adapter.add("From: Second User");
}

请参阅http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/,以了解对equalsvs==还是对它进行谷歌搜索:-)

另外在一个旁注中:修正问题的格式,如果某人一段时间未评论或回答您的问题,则可能需要重新措辞该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有图像的Android ListView

来自分类Dev

Android插入带有viewview结果的listview

来自分类Dev

带有onClick项的Android ListView

来自分类Dev

带有Switch onCheckedListener的Android ListView很奇怪

来自分类Dev

带有标头视图的Android ListView

来自分类Dev

带有片段的Android ListView

来自分类Dev

android中带有动画的水平ListView

来自分类Dev

带有子项的ListView。Android示例

来自分类Dev

android,带有复选框的listview

来自分类Dev

带有onClickListener()的Android Google Map ListView

来自分类Dev

带有垂直彩色边框的Android listview

来自分类Dev

带有onClick项的Android ListView

来自分类Dev

android中带有动画的水平ListView

来自分类Dev

带有隐藏标题的Android ListView

来自分类Dev

带有ListView的Android对话框

来自分类Dev

带有onClickListener()的Android Google Map ListView

来自分类Dev

带有arraylist的listview,android中的简单适配器

来自分类Dev

带有Glide的Android listview-加载后位图加倍

来自分类Dev

带有图像和数组文本的Android Listview

来自分类Dev

带有切换按钮的Android ListView

来自分类Dev

带有ListView和Mysql后端的ORM Lite(android)

来自分类Dev

片段android中带有listview的垂直seekbar

来自分类Dev

带有多行TextView的Android ListView空格行

来自分类Dev

带有notifyDataSetChanged的Android Update listview不起作用

来自分类Dev

未创建带有片段视图的Android ListView

来自分类Dev

带有ArrayAdapter的Android ListView不显示任何内容

来自分类Dev

带有ListView的Android TodoApp-列表不显示

来自分类Dev

带有微调器和单选按钮的Android Listview

来自分类Dev

带有详细信息页面空对象的 Android ListView

Related 相关文章

热门标签

归档