我在使用机器人后的评论系统,我想在点击只中,只有文章作者和评论作者的按钮创建一个聊天选项,如果任何人点击它不应该打开的聊天室。
我使用的为同一目的下面的代码,但它无法正常工作所需的方式。你可以参考计算器中的聊天系统的理念,类似的事情,我想。下面的代码是适配器类链接到的recyclerview项目的按钮。我是PostAuthorId和CommentAuthorId已经证实,我只设置条件,如果登录用户是一样的其中之一。
我使用公司的FireStore数据库相同
如果需要更多的信息,不要让我知道。
commentsViewHolder.chat.setOnClickListener(new View.OnClickListener() {
// @Override
public void onClick(View view) {
if(PostAuthorID == mAuth.getUid() || CommentAuthorId == mAuth.getUid())
{
Toast.makeText(CommentActivity.this, "Hello", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(CommentActivity.this, ChatRoomActivity.class);
intent.putExtra(ChatRoomActivity.CHAT_ROOM_ID, ChatRoomId);
intent.putExtra(ChatRoomActivity.CHAT_ROOM_NAME, ChatRoomName);
startActivity(intent);
}
else
{
Toast.makeText(CommentActivity.this, "You are not authenticated", Toast.LENGTH_SHORT).show();
}
}
});
也许问题是==
不会为字符串的工作。使用PostAuthorID.equals(mAuth.getUid())
比较字符串,而不是==
运营商。mAuth.getUid()
返回一个字符串,我假设PostAuthorID
是一个字符串太
喜欢:
if(PostAuthorID.equals(mAuth.getUid()) || CommentAuthorId.equals(mAuth.getUid())){
....
} else {
....
}
记得:
==
运营商只比较对象引用,而String.equals()
方法比较两个字符串的值!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句