В настоящее время у меня есть ListView, и каждый элемент этого списка состоит из по меньшей мере двух текстовых элементов. Я добавляю доступность к моему приложению, поэтому всякий раз, когда я фокусируюсь на определенном элементе списка, он считывает текст в каждом текстовом элементе.
Прямо сейчас я отправляю это событие TalkBack, но сразу после его завершения он снова считывает TextView. Я хочу, чтобы он только завершил мое событие TalkBack и ничего больше.
Кто-нибудь знает, как это сделать?
Заранее спасибо!
Конечно, просто переопределите View.dispatchPopulateAccessibilityEvent.
Из документа (внимание мое):
Типичная реализация вызовет onPopulateAccessibilityEvent (AccessibilityEvent) в этом представлении, а затем вызовет dispatchPupulateAccessibilityEvent (AccessibilityEvent) для каждого дочернего элемента. Переопределите этот метод, если требуется настраиваемая совокупность текстового содержимого события.
В рамках этого метода вы можете добавить любой текст, который вы хотите к событию, следующим образом:
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
event.getText().add("Hey look!");
return true;
}