我在 Android 项目中遇到了一个关于枚举的奇怪问题。我做了很多搜索,但没有找到与我所看到的类似的东西。问题是:我创建了一个新的 android 项目,我注意到我的应用程序在枚举上崩溃了。经过调查,我似乎到处都使用了一个枚举,它在调试器中的计算结果为空。我做了一个简单的例子来演示我所看到的:
public class foo
{
public enum fdsa {
one,
two,
three
}
public foo() {
fdsa state;
state = fdsa.two;
switch (state) {
case one:
Toast.makeText(mAsdfView.getContext(), "one called", Toast.LENGTH_SHORT).show();
break;
case two:
Toast.makeText(mAsdfView.getContext(), "two called", Toast.LENGTH_SHORT).show();
break;
}
当我在情况二上放置断点并将光标悬停在枚举上时,它显示为 null。它对我在项目中使用的每个枚举执行此操作。
我不知道如何继续。枚举在我用作此项目基础的项目中工作得很好。我想这可能是一个衬托或者什么?我有调试器可供使用,但我不太了解如何使用它取得进展。希望有人对如何进行有任何建议或提示?
最佳答案
您将鼠标悬停在 case 语句上,而不是枚举变量本身(即 state
)。它不是一个变量,所以我不确定为什么调试器在这里显示任何东西 - 它看起来像一个错误 - 但如果您检查state
,它应该显示正确的值而不是两个
。
关于java - 在 android studio 调试器中枚举的值为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60386319/