gpt4 book ai didi

安卓 java.lang.NoSuchFieldError

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:26 29 4
gpt4 key购买 nike

在某些情况下,当从匿名类访问 Activity 字段时,我在运行时收到 NoSuchFieldError:java.lang.NoSuchFieldError: MyActivity.myField

编辑: 我现在确定这是一个 Android 问题,因为所有内容都可以正确编译,但在运行时解析不正确。当更改为 MyActivity.this.myField 而不是普通的 myField 时,一切都很完美。

顺便说一句,我重新检查了一下,我在其他任何地方都没有任何其他 myField,此外,在 Eclipse 中打开声明时,它会转到预期的字段 (myField)。

唯一的问题是我无法在示例项目中重现它。我只能声明这是我项目中的一个特定问题,但我不愿意这样做,我无法发布该项目。

我会保持打开状态,以防有人偶然发现类似的东西。

以下是我可以发布的代码,它会导致我的项目崩溃,但示例不会:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Runnable() {
@Override
public void run() {
Toast.makeText(MyActivity.this, myField.getName(), Toast.LENGTH_SHORT).show();
}
}.run();
}

最佳答案

似乎访问带有类前缀的字段可以解决它:MyActivity.this.myField

奇怪。我想这与 Android 在运行时的字段解析有关。

关于安卓 java.lang.NoSuchFieldError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064319/

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