Cómo evitar TalkBack de leer el fragmento despedido

Estoy desarrollando una aplicación sencilla que está estructurada en Actividades y Fragmentos, uno de los requisitos es para hacerlo accesible, así que hice todas las decripciones de contenido, navegación, enfoque, etc.

Y funciona muy bien, excepto con fragmentos, si hay una actividad que carga un fragmento de la charla lee su contenido, entonces el usuario hace clic en algo y un fragmento de detalle que podría agregarse en la parte superior de la pila.

FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); audios = AudiosListFragment.newInstance(params); ft.add(R.id.audios_fragment_holder, audios); ft.commit(); 

Si el usuario sigue navegando en talkback todavía recuerda la posición de cada elemento del fragmento que falta.

¿Hay alguna forma de borrar la lista de accesibilidad de eventos y obligarla a volver a recibirla? Administrador de accesibilidad no parece tener ningún método para eso.

 AccessibilityManager manager = (AccessibilityManager) getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE); manager.getAccessibilityServiceList(); 

– EDITADO – cosas que he probado y no funcionó.

Enviar un evento de la creación de vista en el fragmento.

  AccessibilityEvent event = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED); AccessibilityDelegate delegate = new AccessibilityDelegate(); v.setAccessibilityDelegate(delegate); delegate.dispatchPopulateAccessibilityEvent(container, event); 

Interrumpir todos los textos pendientes sobre el resurgimiento del fragmento.

  AccessibilityManager mgr = (AccessibilityManager) getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE); mgr.interrupt(); 

Solicitar la vista del decorador para registrar un evento de window_content_change o window_state_change.

  getWindow().getDecorView() .sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); 

– EDITADO – Hizo una jerarquía de DumpView y no hay rastro del fragmento despedido, pero los alambiques de la charla lo navegan: (

Gracias, espero que alguien pueda arrojar algo de luz sobre este tema 🙂

Saludos.

La única manera que encontré así que los fragmentos abajo no consiguen leídos está substituyendo los en la transacción del fragmento, que es una causa del inconveniente usted suelta el estado de ese fragmento …

 FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); BookDetailFragment book = BookDetailFragment.newInstance(id); ft.replace(R.id.books_fragment_holder, book); ft.addToBackStack(BookDetailFragment.TAG); ft.commit(); 

Im que va a seguir buscando en cómo hacer esto correctamente.

  • Cómo agregar contenidoDescrito a InfoWindow o marcador en Android GoogleMaps V2 para TalkBack
  • Accesibilidad de Android talkback para decir el título del fragmento
  • Función de conversación de RecyclerView no bien
  • Configuración de la descripción del contenido del menú de opciones android Talkback
  • Personalizar Android Talkback en diálogo de alerta?
  • ¿Cómo puedo modificar la sugerencia de uso de TalkBack para una vista que se puede hacer clic en Android?
  • Cuando utiliza TalkBack, ¿cuál es la forma preferida de alertar al usuario cuando el contenido de un TextView ha cambiado?
  • Android Talkback no lee caracteres utf-8 en la vista Web usando html
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.