我的项目目前正在使用,但似乎我已经转移到api 26级 - 修订版26.0.2,我正在努力寻找符号KeyEventCompat
import android.support.v4.view.KeyEventCompat;
我试图找出使用v7
,但它不起作用。关于如何使它有效的任何想法。
使用示例:
case KeyEvent.KEYCODE_TAB:
if (KeyEventCompat.hasNoModifiers(event)) {
handled = arrowScroll(FOCUS_FORWARD);
} else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) {
handled = arrowScroll(FOCUS_BACKWARD);
}
break;
关于如何使其有效的任何想法。
由于
答案 0 :(得分:49)
更改此
if (KeyEventCompat.hasNoModifiers(event)) {
handled = arrowScroll(FOCUS_FORWARD);
} else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) {
handled = arrowScroll(FOCUS_BACKWARD);
}
到
if (event.hasNoModifiers()) {
handled = arrowScroll(FOCUS_FORWARD);
} else if (event.hasModifiers(KeyEvent.META_SHIFT_ON)) {
handled = arrowScroll(FOCUS_BACKWARD);
}
KeyEventCompat类在API级别26.0.0中已弃用
答案 1 :(得分:0)
由于您支持API 19+,因此请将KeyEventCompat
来电更改为KeyEvent
。您应该能够在该API级别获得类似的功能。
答案 2 :(得分:0)
我通过将以下行添加到应用的构建gradle(以上依赖项)中来解决了这个KeyEventCompat问题
configurations.all {
exclude group: 'com.google.code.gson'
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.2'
}
}
}
}