Se sabe que es difficult para obtener el texto seleccionado en una vista Web porque la selección de texto de WebView es manejada por una clase privada, WebTextView.Obtención del texto seleccionado en una vista Web a través de una barra de acción contextual
Sin embargo, con el recientemente lanzado Android 4.0 Design guidelines, parece haber un rayo de esperanza de lograr esto a través de barras de acción contextual (CAB). Es says:
Utilice CAB siempre que permita al usuario seleccionar los datos mediante la pulsación prolongada. Puede controlar el contenido de acción de un CAB para insertar las acciones que le gustaría que el usuario pudiera realizar.
¿Estoy malinterpretando esto? ¿Hay alguna forma de recuperar el texto seleccionado de un WebView a través de un CAB?
Después de un largo clic y el modo de selección de texto comienza, actualmente puedo detectar cuando el ActionMode
se inicia y modifica el original copiar/pegar Menu
; sin embargo, no puedo entender cómo recuperar el texto seleccionado.
Hola, @octopi, ¿podría decirme cómo detecta realmente cuándo se inicia ActionMode y cómo ha modificado el menú? Lo que logré es detectar un clic largo e iniciar el Modo de Acción por mí mismo, proporcionando una barra personalizada a través de 'ActionMode.Callback', pero eso no mostrará los cursores de selección de texto. – davids
@davids. Sin decir la selección, también quiero saber cómo desertar o modificar el menú. Tengo una solución bastante desagradable si no necesitas usar 'ActionMode' que no sea la selección de texto. Anulo el 'actionMode público OnWindowStartingActionMode (ActionMode.Callback callback)' en la actividad. Diga 'return super.onWindowStartingActionMode (new MyActionModeCallback());'. Funciona y los cursores no desaparecen. Sin embargo, no sé qué efecto secundario podría causar esta solución. Puedo pensar que el sistema no quiere que lo hagamos. – Yeung
@Yeung también tengo una necesidad de anular la barra de acciones, pero necesito el identificador de selección – Ravi