- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从解析中检索信息。特别是,我添加了一个条件,它只会返回选择相同 Activity 的用户列表。
我尝试了下面的代码,但它似乎确实有效,因为该条件返回一个空列表。
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereNotEqualTo("objectId", currentUserId);
query.whereEqualTo("ActivityName","");
它本质上会看到哪些用户选择了特定的 Activity 名称并返回
下面是完整的代码
public class MatchingActivity extends Activity {
private String currentUserId;
private ArrayAdapter<String> namesArrayAdapter;
private ArrayList<String> names;
private ListView usersListView;
private Button logoutButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.matching);
logoutButton = (Button) findViewById(R.id.logoutButton);
logoutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ParseUser.logOut();
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(intent);
}
});
setConversationsList();
}
private void setConversationsList() {
currentUserId = ParseUser.getCurrentUser().getObjectId();
names = new ArrayList<String>();
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereNotEqualTo("objectId", currentUserId);
query.whereEqualTo("ActivityName",userActivitySelectionName);
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> userList, ParseException e) {
if (e == null) {
for (int i=0; i<userList.size(); i++) {
names.add(userList.get(i).getUsername().toString());
}
usersListView = (ListView)findViewById(R.id.usersListView);
namesArrayAdapter =
new ArrayAdapter<String>(getApplicationContext(),
R.layout.user_list_item, names);
usersListView.setAdapter(namesArrayAdapter);
usersListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int i, long l) {
openConversation(names, i);
}
});
} else {
Toast.makeText(getApplicationContext(),
"Error loading user list",
Toast.LENGTH_LONG).show();
}
}
});
}
public void openConversation(ArrayList<String> names, int pos) {
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", names.get(pos));
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> user, ParseException e) {
if (e == null) {
Intent intent = new Intent(getApplicationContext(), MessagingActivity.class);
intent.putExtra("RECIPIENT_ID", user.get(0).getObjectId());
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(),
"Error finding that user",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
提前致谢。
最佳答案
在数据浏览器中仔细检查,但我猜测该列具有“未定义”而不是空字符串。
在这种情况下,您需要使用以下内容:
query.whereDoesNotExist("ActivityName");
whereDoesNotExist()
和 whereExists()
函数用于检查列上是否设置了任何值。
关于java - 解析 whereEqualTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25242947/
我正在尝试从解析中检索信息。特别是,我添加了一个条件,它只会返回选择相同 Activity 的用户列表。 我尝试了下面的代码,但它似乎确实有效,因为该条件返回一个空列表。 ParseQuery que
我有一个 Parse 类,它有一个指向另一个类的指针...我想计算 A 类中具有等于 B 类中某个字段的特定值的对象... 例如。 ParseQuery query = ParseQuery.getQ
我曾希望它会这么简单,但在尝试运行查询时出现以下异常:com.parse.ParseException:相等性需要一个值而不是 [value0, value1, ...] 如何获得具有这种情况的数据对
嗨,我有这个确切的数据库模式,其中有一个名为“状态”字段的文档,该字段有不同的值,它可以是“待处理”、“已发送”等。 我有一个 FirebaseUI Recycler,我想加载包含这两个值的所有文档。
我正在使用 JS 解析,并且我正在尝试建立反向关系... 我有以下表格.. 用户 优惠 User 表有一个 relationship 列,用于将用户与优惠相关联,我有两种类型的关系 used_offe
我有一个以city 作为字段的文档。我想查询一个包含 的文档 城市==“东京”和城市==“大阪”。 如何做到这一点? 我已经尝试过这个: query = ref .whereE
我有 100 个元素的集合。在这个集合中,只有两个元素具有字段 available设置为真。如果我使用这个查询: db.collection("elements").whereEqualTo("ava
我看过 this question before for an earlier version of Firebase不再适用于 Firebase Cloud Firestore。 我想进行一个查询,
我想做的是先检查用户输入的推荐代码是否存在。但问题是,即使我输入的文本不包含在数据库中,它也总是在 addOnSuccessListener 上进行。 //不要介意下一段。我只需要添加更多描述来保存编
考虑到多个 whereArrayContains() 不起作用,我在嵌套 HashMap 上使用多个 whereEqualTo() 时遇到问题。 我正在使用 firebase 制作简单的聊天应用程序,
我想查询我的锻炼 Collection 以获取日常锻炼中的最新锻炼。这意味着我使用 whereEqualTo 我的routineKey 进行查询,按开始时间戳按降序排序,然后限制为 1,然后获取锻炼的
我想查询我的锻炼 Collection 以获取例程中的最新锻炼。这意味着我用 whereEqualTo 查询我的 routineKey,按开始时间戳降序排列,然后限制为 1,然后获取锻炼的第一个键/I
我是一名优秀的程序员,十分优秀!