В режиме доступности я хочу переопределить TalkBack для TextView

1

В настоящее время у меня есть ListView, и каждый элемент этого списка состоит из по меньшей мере двух текстовых элементов. Я добавляю доступность к моему приложению, поэтому всякий раз, когда я фокусируюсь на определенном элементе списка, он считывает текст в каждом текстовом элементе.

Прямо сейчас я отправляю это событие TalkBack, но сразу после его завершения он снова считывает TextView. Я хочу, чтобы он только завершил мое событие TalkBack и ничего больше.

Кто-нибудь знает, как это сделать?

Заранее спасибо!

  • 0
    Можете ли вы предоставить соответствующий код?
Теги:
accessibility
textview
android-textview
android-listview

1 ответ

2
Лучший ответ

Конечно, просто переопределите View.dispatchPopulateAccessibilityEvent.

Из документа (внимание мое):

Типичная реализация вызовет onPopulateAccessibilityEvent (AccessibilityEvent) в этом представлении, а затем вызовет dispatchPupulateAccessibilityEvent (AccessibilityEvent) для каждого дочернего элемента. Переопределите этот метод, если требуется настраиваемая совокупность текстового содержимого события.


В рамках этого метода вы можете добавить любой текст, который вы хотите к событию, следующим образом:

public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
    event.getText().add("Hey look!");
    return true;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню