2 回答

TA贡献1789条经验 获得超8个赞
如果您收到此异常:
java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener"
可能的解释是您的 Android API 不匹配。在javadoc中说,该类在API级别28中添加。
我怀疑这与您的问题无关,但是如果您发布完整的堆栈跟踪,有人可以更确定地了解这一点。
查看ColorChange
该类,我可以看到三个单独的错误:
如果
clickCount
是 3,color[clickCount]
会给你一个ArrayIndexOutOfBoundsException
. 数组索引值从 0 到array.length - 1
,在这种情况下数组长度为 3。由于您没有初始化
layout
变量,它将是null
,并且layout.setBackgroundColor(...)
会抛出一个NullPointerException
.这个语句完全没有作用:
clickCount = clickCount++;
(仔细想想。)

TA贡献1859条经验 获得超6个赞
你的ColorChange.setColor()方法造成的问题:
if (clickCount > 3){
clickCount = 0;
}
String newColor = color[clickCount];
如果您连接到您的 android 控制台,它应该说ArrayIndexOutOfBound异常。
假设您的clickCount = 3,然后传递 if ,newColor将从color[3]您的数组范围之外提取。
解决方案: clickCount > 3到clickCount > 2或clickCount >= 3
添加回答
举报