2 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個贊
如果您收到此異常:
java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener"
可能的解釋是您的 Android API 不匹配。在javadoc中說,該類在API級別28中添加。
我懷疑這與您的問題無關(guān),但是如果您發(fā)布完整的堆棧跟蹤,有人可以更確定地了解這一點(diǎn)。
查看ColorChange
該類,我可以看到三個單獨(dú)的錯誤:
如果
clickCount
是 3,color[clickCount]
會給你一個ArrayIndexOutOfBoundsException
. 數(shù)組索引值從 0 到array.length - 1
,在這種情況下數(shù)組長度為 3。由于您沒有初始化
layout
變量,它將是null
,并且layout.setBackgroundColor(...)
會拋出一個NullPointerException
.這個語句完全沒有作用:
clickCount = clickCount++;
(仔細(xì)想想。)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個贊
你的ColorChange.setColor()方法造成的問題:
if (clickCount > 3){
clickCount = 0;
}
String newColor = color[clickCount];
如果您連接到您的 android 控制臺,它應(yīng)該說ArrayIndexOutOfBound異常。
假設(shè)您的clickCount = 3,然后傳遞 if ,newColor將從color[3]您的數(shù)組范圍之外提取。
解決方案: clickCount > 3到clickCount > 2或clickCount >= 3
添加回答
舉報