KeyEventCompat не поддерживается при сборке
Мой проект в настоящее время используется, но, похоже, я перешел на уровень 26 api - версия 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;
Любая идея о том, как это сделать.
Спасибо
Ответы
Ответ 1
изменить это
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
Ответ 2
Так как вы поддерживаете API 19+, изменить ваш KeyEventCompat
вызовы KeyEvent
вызовы. Вы должны иметь возможность получить сопоставимую функциональность на уровне API.
Ответ 3
Я решил эту проблему KeyEventCompat, добавив эту строку в gradle сборки приложения (выше зависимости)
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'
}
}
}
}