Android: come eliminare il testo pronunciato dagli accessibilità quando si estende il Searchbar?

StackOverflow https://stackoverflow.com//questions/25001069

Domanda

La mia app Android contiene un controllo cursore personalizzato in base al SeekBar e voglio allegare una frase di testo personalizzata al mio controllo per spiegare il suo utilizzo per l'accessibilità.

L'ho fatto con successo usando View.setContentDescription(text) e Talkback parla correttamente la frase quando richiedo attenzione sul mio controllo del cursore da Activity.onCreate.

Finora, così buono. Tuttavia, quando tocco il controllo, che ritengo imposta l'accessibilitàFocus sul mio dispositivo di test API API Android, vengono aggiunte parole extra alla frase parlata, I.e. '... cerca il controllo. 0 per cento '. Voglio rimuovere queste parole aggiuntive.

Ho cercato di eliminarli usando event.getText().clear() in View.onInitializeAccessibilityEvent(event) senza successo. Echoing L'evento a LogCat segnala la frase corretta in event.contentDescription e nessuna voci in event.text, ma le parole extra appaiono sia nell'uscita audio dall'hardware del dispositivo che nel testo di debug su schermo visualizzato da menu-> Impostazioni-> Accessibilità-> Talkback-> Impostazioni-> Impostazioni sviluppatore-> Visualizza l'output vocale .

Per favore qualcuno può suggerire dove vengono aggiunte le parole extra e come eliminarli?

Qualsiasi suggerimento costruttivo sarebbe il benvenuto. Grazie.

Aggiornamento

Posso vedere che un evento esplorare con il tocco (iniziale tap-tap) sul mio controllo personalizzato non passa attraverso i suoi metodi onInitializeAccessibilityEvent o dispatchPopulateAccessibilityEvent come sto deliberatamente chiamando event.setContentDescription(null). Nonostante ciò, c'è un AccessibilityEvent generato con il ContentDescriptionTagCode del mio controllo personalizzato, impostato in Activity.onCreate in codice, oltre a parole extra che sto cercando di eliminare.

Ho anche impostato un AccessibilityDelegate sul Genitore Genitore Genitore del mio controllo personalizzato per dare visibilità delle sue chiamate ViewGroup. Ciò conferma che nessun evento contenente il mio onRequestSendAccessibilityEvent sta passando.

Questo è molto sconcertante, e succede sia all'emulatore che all'hardware reale con API 16. Eventuali idee?

È stato utile?

Soluzione 2

Credo che questo sia un bug in talkback, e ho sollevato Edizione priva di occhi di Google # 375 , incluso il codice di esempio.

Aggiornamento: Google ha ora archiviato questo.Link spostato a: http://code.google.com/Archive/P / senza occhi / problemi / 375

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top