当前位置: 首页 > 知识库问答 >
问题:

有没有办法将布局资源文件中的文本视图使用到activity类中?

微生慈
2023-03-14

一般来说,我正在尝试创建一个聊天机器人应用程序,但我没有任何代码可供参考和尝试自己…到目前为止,我已经完成了发送者消息部分,并在firebase数据库中更新了它…现在如何使接收者文本一旦更新发送者文本就会出现?

我为发送者味精部分和接收者味精部分和适配器Java类和另一个activity中的回收器视图有分开的布局

我想到使用接收器布局资源中的textview,并使用set text..如果能行,有人告诉我怎么做

提前道谢!

共有1个答案

百里海超
2023-03-14

我不确定我是否正确地理解了您的意思,但我假设您的意思是希望消息显示在左侧或右侧,如果这样的话,您可以有两个变量:

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);
}
 类似资料:
  • 问题内容: 有没有办法编译一个node.js应用程序? 问题答案: 我可能已经很晚了,但是您可以使用“ nexe”模块在一个可执行文件中编译nodejs +您的脚本:https : //github.com/crcn/nexe

  • 这是一个关于Android布局的问题。以下是我急切想要得到的: 深灰色是LinearLayout。橙色是布局X,然后绿色是FrameLayout。我需要将绿色放在其父布局X之外。描述的布局层次结构不能更改。唯一的选择是布局X-它可以是您想要的任何内容。 有什么想法吗?

  • 在我的xml文件中有七个文本视图(textview0….textview6),在我的java文件中,我想循环浏览这些视图,但我遇到了一个问题,我无法使用findViewById函数,因为我无法在我想要的类似名称中使用索引(I)

  • 我试图构建一个资源包,从数据库而不是属性文件获取其消息。我做了一些扩展ResourceBundle的测试,ResourceBundle。控件和ListResourceBundle,我想我走的是正确的道路。 当我需要查询实际数据库以从我的ResourceBundle实现中获取消息时,我就到达了一个点。我想利用EJB层上的所有JPA架构体系来运行查询并实例化存储密钥、消息和区域设置的对象。因此,如果我

  • 有没有办法列出AWS中的所有资源?对于所有区域,所有资源...例如列出所有EC2实例、所有VPC、API Gateway中的所有API等...我想列出我帐户的所有资源,因为我很难找到我现在可以放弃的资源。

  • 问题内容: 我正在尝试使用Swift(不是Xcode项目)编写脚本。需要明确的是,我文件的第一行是 我只是从命令行调用它。 但是,我无法弄清楚该脚本如何使用另一个.swift文件中的代码。它不会从同一目录中拾取它,而且我看不到任何方法。 支持吗? 问题答案: 有更好的方法! 如果您要从中导入文件,将像: