Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo iniciar la barra de acción contextual para ver el texto de forma programática con opions por defecto copiar y seleccionar todo?

¿Hay alguna forma de iniciar programatically barra de acción contextual asociada con una vista de texto, en un clic de botón? Debe contener opciones predeterminadas de copiar / seleccionar todo también. Básicamente, quiero mostrar las manijas de selección en mi vista de texto y la opción de copia / selección predeterminada de android en la barra de acción, en un clic de botón (en lugar de clic largo / doble toque).

Lo que he intentado hasta ahora: probado el uso de la api setCustomActionModeCallback (), pero el problema aquí, es el usuario necesidad de presionar a largo / haga doble clic en la vista de texto para CAB a aparecer. Intenté usar startActionMode () api, pero no pude encontrar una forma de retener los elementos por defecto .. solo abre un nuevo CAB vacío .. sé, puedo añadir mi copia personalizada-seleccionar todo el código y hacer uso de este CAB vacío, pero Quiero usar el androide predeterminado proporcionado en lugar de administrarlo por mí mismo.

Editar; No puedo usar EditText. La vista debe ser sólo TextView y el clic largo se deshabilitará. Estoy haciendo todos los cambios anteriores estableciendo TextView como seleccionable

  • ¿Cómo manejar correctamente el modo de acción "hecho" botón?
  • Selección de texto de Webview no borrada
  • Comportamiento personalizado Modo de acción contextual
  • Estilo personalizado del menú de desbordamiento CAB
  • Error en startActionMode, appcompat
  • ¿Cómo seleccionar un elemento ListView después de un clic largo?
  • ¿Cómo hacer que la barra Contextual ActionMode se superponga a la barra de herramientas appcompat-v7 pero no al cajón de navegación?
  • Barra de acción contextual comportamiento extraño para el elemento de menú
  • 2 Solutions collect form web for “Cómo iniciar la barra de acción contextual para ver el texto de forma programática con opions por defecto copiar y seleccionar todo?”

    Seleccione el texto manualmente y luego haga un clic largo:

    textView.post(new Runnable() { @Override public void run() { Selection.selectAll((Spannable) tv.getText()); tv.performLongClick(); } }); 

    Editar:

    El problema es que la selección de texto incorporada CAB es privada y utiliza varias clases privadas. Tendrías que copiar un montón de código o acceder a un montón de métodos con reflexión para usarlo.

    Usted podría hacer su propio menú CAB pero también necesitaría el controlador maneja que es de nuevo una gran cantidad de código.

    Una solución simple sería vivir con lo que usted tiene y utilizar mi método sugerido arriba. Si desea evitar llamar a su oyente de clic largo, puede quitarlo mientras llama a la cabina:

     Selection.selectAll((Spannable) tv.getText()); tv.setOnLongClickListener(null); tv.performLongClick(); tv.setOnLongClickListener(mLongClickListener); 

    Si desea seleccionar texto en su vista de texto que hay varios enfoques que puede seguir. Lo primero que puede hacer, se establece las propiedades xml de TextView.

      android:textIsSelectable = "true" txtView.setTextIsSelectable(true) 

    El indicador textIsSelectable permite a los usuarios realizar gestos de selección en TextView, que a su vez activa los controles incorporados de copia / pega del sistema.

    o

     android:selectAllOnFocus = true; setSelectAllOnFocus(boolean) 

    Si el texto es seleccionable, selecciónelo todo cuando la vista se enfoque. Y usted puede fijar el foco en el tecleo de su botón. Utilizando el método RequestFocus ().

    Para más estudio de detalle puede hacer referencia a este enlace. Usted encontrará toda su tarea requerida hecha. http://developer.android.com/reference/android/widget/TextView.html%5Bhttp://developer.android.com/reference/android/widget/TextView.html%5D%5B1%5D

    gracias

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.