我使用数据绑定。有时,当我进行更改时,项目可能会中断。然后我去Build-> Clean project&Re-Build project。我得到一些奇怪的错误:
Unable to delete file: {path_to_project}\app\build\intermediates\data_binding_dependency_artifacts\debug\dataBindingMergeDependencyArtifactsDebug\out\androidx.databinding.library.baseAdapters--setter_store.json
Run Code Online (Sandbox Code Playgroud)
每次我都不知道如何解决它时,因为在清理或重建时会遇到此错误。即使我使Invalidate缓存/重新启动,问题也不会消失。
如果我尝试手动删除此文件,则会收到该文件正在被另一个进程使用的错误消息。然后,我关闭项目并成功删除此文件。但是,当我打开项目并构建它时,会遇到上述相同的错误。
如我所见,问题与数据绑定有关,但是我不确定,因为我在StackOverflow上看到了来自其他用户的其他文件的相同问题。有时问题本身就消失了,但通常不是这样。可能是由于布局文件中的错误而导致出现此问题,但是如果构建日志中没有错误,如何找到它。
有没有人遇到那个错误?有什么想法如何解决这种情况而又不会在不确定的时间范围内破坏整个项目?
我开发聊天应用程序,有不同类型的消息:简单的文本、图像、文件等。也只有消息(其他,在屏幕左侧)和我的消息(在屏幕右侧)。
现在我对每种类型的消息都有不同的布局:
item_message_simple
item_my_message_simple
项目消息图像
item_my_message_image
项目消息文件
项目我的消息文件
所有这些类型都在 RecyclerView.Adapter 中定义,并且 getItemViewType() 中有许多 if-else 条件
还可以回复和转发具有更复杂布局的消息。如果我想添加新的消息类型,那将是灾难。
那么如何更好地组织呢?也许它应该全部采用一种布局和 2 种类型:MESSAGE、MY_MESSAGE - 以及显示/隐藏部分布局。或者再次输入 2 种类型(MESSAGE、MY_MESSAGE)并在 ViewHolder 中填充所需的子布局。
请任何帮助!