gpt4 book ai didi

android - ChildEventListener 导致奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 00:39:11 24 4
gpt4 key购买 nike

我有一个简单的场景,如果当前用户对帖子发表评论,我必须显示绿色图标,否则显示黑色图标逻辑是

mCommentChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
try{
if (dataSnapshot.exists() && dataSnapshot.hasChildren() && !dataSnapshot.equals(null)){
Comment comment = dataSnapshot.getValue(Comment.class);
if (comment.getPostId().equals(mPostId)){
mCommentList.add(comment);
mCommentAdapter.notifyDataSetChanged();

if (!comment.getUid().equals(Utils.getCurrentUser())){
commentImageView.setImageDrawable(getDrawable(R.drawable.ic_comment_dark));
} else {
commentImageView.setImageDrawable(getDrawable(R.drawable.ic_comment_green));
}

commentTextView.setText(String.valueOf(mCommentList.size()));
}

} else {
///
}
} catch (Exception e){
e.printStackTrace();
}
}

//omitting other @overide methods
};

当假设用户 USER_1 对帖子发表评论时使用此代码,commentImageView 的图标在 USER_1 的设备上变为绿色,这很棒,但是当另一个用户 USER_2 发表评论 在 USER_2 的设备上,commentImageView 的图标变为绿色,但在 USER_1 的设备上,commentImageView 的图标变为黑色

enter image description here

如您所见,这就是我面临的问题,我想在每个用户的 commentImageView 上显示绿色图标,而不是为帖子最后评论的单个用户显示绿色图标,我应该在哪里进行更改,以便这个 ChildEventListener正常工作,任何进一步的细节将应要求提供。

最佳答案

我只会在用户登录时初始化 View 时设置一次深色(无论如何你什么时候需要从绿色变为深色?)。然后你的着色逻辑简化为:

if (comment.getUid().equals(Utils.getCurrentUser())){
commentImageView.setImageDrawable(getDrawable(R.drawable.ic_comment_green));
}

关于android - ChildEventListener 导致奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42818873/

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