gpt4 book ai didi

Android Studio Firebase 数据与 ID 对比

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

有一项 Activity 列出了在 Firebase 中注册的用户。这里列出了所有用户。还有消息 Activity 。我想列出刚刚在那里发短信的人。我在 Firebase 中有聊天列表。在这里发短信的人是id。以下代码列出了所有用户。将用户表与 Chatlist 表进行比较,如果 ID 匹配,消息将被添加到 Activity 中。如何更改此代码以进行匹配?

 @Override
protected void onStart() {
super.onStart();

FirebaseRecyclerAdapter<Users, AllUserViewHolder> adapter =
new FirebaseRecyclerAdapter<Users, AllUserViewHolder>
(
Users.class,
R.layout.user_item,
AllUserViewHolder.class,
usersRef

)
{
@Override
protected void populateViewHolder(final AllUserViewHolder viewHolder, Users model, final int position)
{
final String usersIDs = getRef(position).getKey();

usersRef.child(usersIDs).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists())
{
final String userName =dataSnapshot.child("fullname").getValue().toString();
final String profileImage = dataSnapshot.child("profileimage").getValue().toString();
final String biography = dataSnapshot.child("biography").getValue().toString();

viewHolder.setFullname(userName);
viewHolder.setProfileimage(getApplicationContext(), profileImage);
viewHolder.setBiography(biography);

viewHolder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

CharSequence options[] = new CharSequence[]
{
userName + "profilini gör",
"Mesaj Gönder"
};
AlertDialog.Builder builder = new AlertDialog.Builder(MessageActivity.this);
builder.setTitle("Seç:");

builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
if (i ==0)
{
Intent profileIntent = new Intent(MessageActivity.this, UserProfileActivity.class);
profileIntent.putExtra("visit_user_id", usersIDs);
startActivity(profileIntent);
}
if (i == 1)
{
Intent chatIntent = new Intent(MessageActivity.this, ChatActivity.class);
chatIntent.putExtra("visit_user_id", usersIDs);
chatIntent.putExtra("userName", userName);
startActivity(chatIntent);
}

}
});
builder.show();
}
});
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});




}
};
usersList.setAdapter(adapter);
}

最佳答案

无需将它们一一匹配,您可以将它们全部临时添加到一个数组列表中,然后将该数组列表的内容与您的聊天列表 的内容进行匹配。

ArrayList<String> temp = new ArrayList<String>();

这种方法不仅更适合您考虑,而且编码起来也相对容易。

如果您对该方法有一些困难,请添加您的数据库结构,我可以帮助您为此编写代码。

关于Android Studio Firebase 数据与 ID 对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917154/

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