一般来说,我正在尝试创建一个聊天机器人应用程序,但我没有任何代码可供参考和尝试自己…到目前为止,我已经完成了发送者消息部分,并在firebase数据库中更新了它…现在如何使接收者文本一旦更新发送者文本就会出现?
我为发送者味精部分和接收者味精部分和适配器Java类和另一个activity中的回收器视图有分开的布局
我想到使用接收器布局资源中的textview,并使用set text..如果能行,有人告诉我怎么做
提前道谢!
我不确定我是否正确地理解了您的意思,但我假设您的意思是希望消息显示在左侧或右侧,如果这样的话,您可以有两个变量:
private static final int MESSAGE_RIGHT = 1;
private static final int MESSAGE_LEFT = 0;
然后,在适配器中,您可以像这样调用getItemViewType,使其在给定消息类型的情况下选择要返回的视图类型:
@Override
public int getItemViewType(int position) {
if (messageList.get(position).getUid().equals(Common.CURRENT_USER_ID)){
return MESSAGE_RIGHT;
}else {
return MESSAGE_LEFT;
}
}
然后,在OnCreateViewWholder中返回特定消息类型的正确ViewWholder,不管是左消息类型还是右消息类型,如下所示:
@NonNull
@Override
public DirectMessageAdapter.ViewHolderForDirectMessage onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
if (viewType == MESSAGE_LEFT){
view = LayoutInflater.from(context).inflate(R.layout.message_type_left_format, parent, false);
}else {
view = LayoutInflater.from(context).inflate(R.layout.message_type_right_format, parent, false);
}
return new ViewHolderForDirectMessage(view);
}