Как Android Talk Back различает действенное и неактивное представление? - PullRequest
1 голос
/ 06 июня 2019

Я добавляю обратную связь в мое приложение для Android. В этом я запутался в некоторых показаниях разговора.

У меня есть textView (например, tvQuantity), который просто обозначает число. например, количество продукта. это количество может быть увеличено и уменьшено с помощью соответствующих кнопок управления.

Однако, когда приложение используется в режиме двухсторонней связи, tvQuantity (это представление без действия) считывается как "contentDescription for tvQuantity double tap to activate". И в отдельном представлении (например, tvTitle), в котором отображается заголовок какого-либо блога, не было добавлено двойное нажатие для активации в описании контента. Я запутался, потому что в обоих представлениях нет никакого clickListener или какого-либо действия, связанного с ним. Тем не менее, поведение обратной связи отличается.

Я хочу удалить это «Двойное касание для активации» из неактивного представления.

Я попытался разрешить проблему, установив tvQuantity.setOnClickListener(null), но это не сработало. Я также ищу похожие блоги / статьи, но причина, по которой это произошло, до сих пор неизвестна.

Я сомневаюсь, что это может произойти, потому что на каком-то действии я объявляю о доступности как код ниже. Но я действительно не уверен, если это правильная причина для этого или нет.

if (onSomeAction1) {
   tvQuantity.announceForAccessibility("annoucement 1")
} else if (onSomeAction2) {
   tvQuantity.announceForAccessibility("annoucement 2")
} else {
   tvQuantity.contentDescription = "contentDescription For 
tvQuantity."
}

Если кто-нибудь сможет объяснить мне, как в режиме обратной связи различаются действующие и неактивные представления, то это очень поможет.

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

...