У меня есть несколько TextView
с, которые я хотел бы объявить в качестве заголовка или ссылки в режиме обратной связи. В настоящее время он просто объявляет текст внутри TextView
, но я бы хотел, чтобы после него было написано «Заголовок» или «ссылка» в зависимости от TextView
. Например, я бы хотел, чтобы в режиме Talkback было объявлено «Вход - заголовок», а не просто «Вход».
То, что я пробовал до сих пор, это добавить это в мои Activity
onCreate()
:
ViewCompat.setAccessibilityDelegate(v, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setHeading(true);
}
});
В режиме обратной связи никаких изменений нет - он по-прежнему просто объявляет "logв".
Я заметил, что этот метод, onInitializeAccessibilityNodeInfo
, вызывается несколько раз. Когда я вхожу в отладчик, каждый раз, когда этот метод запускается, он показывает, что isHeading()
имеет значение false, а затем устанавливается в true
Я использую этот метод неправильно? Почему это называется много раз? Почему info.setHeading(true)
в основном игнорируется?
Как мне добиться чего-то подобного, но с режимом Talkback, объявляющим «Label - Link» вместо заголовка?