私のプロジェクトは現在使用していますが、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;
動作させる方法についてのアイデア。
ありがとう
これを変える
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で廃止されました
この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'
}
}
}
}
API 19+をサポートしているため、KeyEventCompat
呼び出しをKeyEvent
呼び出しに変更します。そのAPIレベルで同等の機能を取得できるはずです。