1

J'ai actuellement un ListView et chaque élément de cette liste se compose d'au moins deux TextViews. J'ajoute de l'accessibilité à mon application, donc chaque fois que je me concentre sur un certain élément de la liste, il lit le texte dans chaque TextView. En ce moment, je lui envoie un événement TalkBack, mais juste après l'avoir terminé, il lit à nouveau les TextViews. Je veux seulement terminer mon événement TalkBack et rien d'autre.En mode Accessibilité, je veux remplacer le TalkBack pour un TextView

Quelqu'un sait-il comment faire?

Merci d'avance!

+0

Pouvez-vous fournir le code approprié? – Vinay

Répondre

2

Bien sûr, remplacez simplement View.dispatchPopulateAccessibilityEvent.

De la doc (Souligné par l'auteur):

Une implémentation typique appellera onPopulateAccessibilityEvent (AccessibilityEvent) sur la ce point de vue, puis appelez le dispatchPopulateAccessibilityEvent (AccessibilityEvent) sur chaque enfant. Substituez cette méthode si une population personnalisée du contenu du texte de l'événement est requise.


Dans cette méthode, vous pouvez ajouter un texte à l'événement de la manière suivante:

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