gpt4 book ai didi

android - 创建查询以获取等于当前用户 ID 的值

转载 作者:行者123 更新时间:2023-11-29 23:31:16 27 4
gpt4 key购买 nike

我想从键“group_member”中获取所有与当前用户 ID 匹配的值。键“group_member”由用户 ID 组成。数据库截图:

enter image description here

为此,我创建了查询 Query query = mGroupDatabase.child("group_member").equalTo(mCurrent_user_id);

但没有得到任何结果。之后,这个结果需要显示到 RecyclerView 中。

mGroupList = (RecyclerView) mMainView.findViewById(R.id.group_list);

mAuth = FirebaseAuth.getInstance();
mCurrent_user_id = mAuth.getCurrentUser().getUid();

mGroupDatabase = FirebaseDatabase.getInstance().getReference().child("Groups");
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
linearLayoutManager.setReverseLayout(true);
linearLayoutManager.setStackFromEnd(true);

mGroupList.setHasFixedSize(true);
mGroupList.setLayoutManager(linearLayoutManager);

Query query = mGroupDatabase.child("group_member").equalTo(mCurrent_user_id);
query.keepSynced(true);

FirebaseRecyclerOptions<Group> options =
new FirebaseRecyclerOptions.Builder<Group>()
.setQuery(query, Group.class)
.build();

firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Group, ViewHolder>(options) {
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// Create a new instance of the ViewHolder, in this case we are using a custom
// layout called R.layout.message for each item
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.adapter_users_activity_layout, parent, false);

return new ViewHolder(view);
}

@Override
protected void onBindViewHolder(final ViewHolder viewHolder, int position, final Group group) {

Log.d("sdfdfgghhjhj", group.getGroup_member());

@Override
public void onStart() {
super.onStart();
firebaseRecyclerAdapter.startListening();
}

@Override
public void onStop() {
super.onStop();

if (firebaseRecyclerAdapter != null) {
firebaseRecyclerAdapter.stopListening();
}
}

在上面的代码中,Log.d("sdfdfgghhjhj", group.getGroup_member()); 没有给出任何值。

组:

package com.example.messenger.messenger;

public class Group {
String name, group_member;

public Group() {

}

public Group(String name, String group_member) {
this.name = name;
this.group_member = group_member;
}

public String getGroup_member() {
return group_member;
}

public void setGroup_member(String group_member) {
this.group_member = group_member;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

最佳答案

要解决这个问题,请更改以下代码行:

Query query = mGroupDatabase.child("group_member").equalTo(mCurrent_user_id);

Query query = mGroupDatabase.orderByChild("group_member").equalTo(mCurrent_user_id);

关于android - 创建查询以获取等于当前用户 ID 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52633350/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com