【发布时间】:2012-06-16 14:36:30
【问题描述】:
在某些情况下,当从匿名类访问活动字段时,我在运行时收到 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();
}
【问题讨论】:
-
谁投反对票,请解释原因,以便我提供更好的问题。
-
不知道?..但请提供代码............
-
你投了反对票(我没有)可能是因为你没有添加代码,没有代码我们可以做任何事情。
-
编写示例代码重现...
-
我无法创建重现此内容的项目。它只发生在我的项目上。我想这是我的错,但我不能发布这个项目。无赖。
标签: android