Cómo capturar el método de pegado de Edittext
[Java] Código de copia de vista de texto sin formato
public boolean onTextContextMenuItem(int) {
... ...
ClipboardManager clip = (ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE);
cambiar (id) {
... ...
caso ID_COPY:
clip.setText(mTransformed.subSequence(min, max));
stopTextSelectionMode();
devuelve verdadero;
caso ID_PASTE:
Pegar CharSequence = clip.getText();
if (pegar! = amplificador nulo ;amp; pegar.length() gt; 0) {
long minMax = prepareSpacesAroundPaste(min, max, pegar);
min = extractRangeStartFromLong (minMax);
max = extractRangeEndFromLong(minMax);
Selection.setSelection((Spannable) mText, max);
((Editable) mText).replace(min, max, pegar );
stopTextSelectionMode();
}
return true;
Todo el código fuente de textview se puede encontrar en el siguiente sitio web. :
TextView.zip (57,92 KB, Descargas: 169)
Método de implementación (este método agregará contenido, como prefijos, al texto copiado.
Las expresiones regulares se pueden juzgar en el contenido obtenido):
[Java] Código de copia de vista de texto sin formato
clase pública MyEditText extiende EditText {
privado static final int ID_PASTE = android .R.id.paste;
public MyEditText(Contexto contexto, AttributeSet atributos) {
super(contexto, atributos);
}
@Override
public boolean onTextContextMenuItem(int id) {
if(id == ID_PASTE){
ClipboardManager clip = ( ClipboardManager )getContext().getSystemService(Context.CLIPBOARD_SERVICE);
clip.setText("[color=#ff0000]APKBus==gt;[/color]" clip.getText());
p>ClipboardManager clip = (ClipboardManager)getContext()getText());
}
return super.onTextContextMenuItem(id);
}
}
Diseño:
[XHTML] Código de copia de vista de texto sin formato
lt; xmlns .android="/apk/res/android"
xmlns: tools="/tools"
android: layout_width="match_parent"
android: layout_height ="match _parent" gt;
lt; com.example.customeredittexttest.MyEditText
android:id="@id/edit"
android: layout_width ="match_ parent"
android: layout_height="50dip"
android: layout_alignParentTop="true"
/gt;
lt;/RelativeLayoutgt;