Как переключить проверенное состояние, используя сервис доступности Android? - PullRequest
1 голос
/ 12 мая 2019

Я не могу переключить проверенное состояние узла пользовательского интерфейса с классом android.widget.Switch Я пробовал .performAction(AccessibilityNodeInfo.ACTION_SELECT) и .performAction(AccessibilityNodeInfo.ACTION_CLICK), но это не помогло.Спасибо за помощь ..

1 Ответ

0 голосов
/ 23 мая 2019

Вы можете установить состояние Switch как проверено через его View объект, когда происходит какое-то событие (например, нажатие кнопки):

ViewCompat.setAccessibilityLiveRegion(mySwitch, ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE)
mySwitch.isChecked = true

Установка состояния доступности, как проверено, будет возможнойс использованием AccessibilityDelegate, но для Switch текущее состояние View (включено или выключено) является более важным, чем состояние, установленное делегатом.Ниже приведен код для установки пользовательского AccessibilityDelegate в View.

ViewCompat.setAccessibilityDelegate(mySwitch, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfoCompat?) {
        super.onInitializeAccessibilityNodeInfo(host, info)

        info?.isChecked = true
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...