您好我正在制作一个应用程序,理发师可以提交他们的日程安排(次),然后如果客户点击他们的名字,客户将会显示某个理发师提交的所有时间。让我们说理发师的名字存储在字符串" barberName"并且理发师姓名存储在"名称"列和"用户"类等等存储在"时代"柱。我怎么会得到理发师"乔纳森"(这个名字就是一个例子)的所有时间。请回答我需要编写的代码,我已经进行了查询,但它只获得了最新理发师输入的时间。几天前代码正在运行,但现在却没有。这是我的代码......
final String name = getIntent().getStringExtra("name");
ParseQuery<ParseObject> query = ParseQuery.getQuery("Info");
query.whereEqualTo("user", name);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (e == null){
ArrayList<String> barbers = new ArrayList<String>();
for (ParseObject object : objects){
barbers.add(String.valueOf(object.get("times")));
}
ArrayAdapter arrayAdaptar = new ArrayAdapter<String>
(Barbers.this, android.R.layout.simple_list_item_1, barbers);
list.setAdapter(arrayAdaptar);
}
}
});
答案 0 :(得分:0)
这里有一些可能性:是&#34;用户&#34;只是一个名字?这可能是一个糟糕的解决方案,因为多个用户可能具有相同的名称。我改为存储User的objectId或指向用户的指针。这将使这些更具有独特性。
默认情况下,查询只有100个项目的限制,因此它只会获取前100个结果。也许你遇到了极限问题?
您是否仔细检查过您实际上是在输入您希望的名字?也许您的问题是您没有正确更新它。这听起来可能是您在获取列表时设置该值,因此最后一个是名称设置的值。然而,当您点击一个时,您将使用它而不是您正在选择的Info对象上的名称。