gpt4 book ai didi

android - 调试期间 R.id.X 值错误

转载 作者:行者123 更新时间:2023-12-02 13:40:08 25 4
gpt4 key购买 nike

enter image description here

如果我在代码中执行此操作:val x = R.id.x - 它将具有类似 32123123412 的值。

如果我在调试期间评估表达式/添加到变量观察器: R.id.x - 它将具有像 -123456x == R.id.x 的值 - 将是 false 。这也意味着 findViewById<View>(R.id.x) 什么也找不到,而 findViewById<View>(x) - 在调试期间工作得很好。

由于某种原因,调试期间的所有 R 值都与代码中的值不同。我在构建中找到了文件 R.txt 并且它有 32123123412R.id.x 。但是我没有找到带有 -123456 的文件。

-123456 是从哪里来的?如何在代码和调试期间使 R.id.x 相同?这在 espresso 测试调试期间非常糟糕。

UPD:问题仅发生在 kotlin 文件中。如果我创建 java 文件并从 kotlin 调用它并在那里检查 id - 它会工作正常

UPD2:android.R.id.content 即使在 kotlin 中也能正常工作

UPD3:如果在评估表达式菜单中选择 java 并尝试查看 R.id.X - R - 将是未解析的引用,即使包已完全指定

UPD4: 在 kotlin bugtracker https://youtrack.jetbrains.com/issue/KT-42479 中打开任务

最佳答案

最后是 kotlin 的一个 bug。开发人员承认了这个问题: https://youtrack.jetbrains.com/issue/KT-42479

关于android - 调试期间 R.id.X 值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64210135/

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