2012-03-06 24 views
11

Estoy en el proyecto RichTextEditor y he completado casi todas las funciones. Puedo insertar una imagen y puedo guardar el archivo con la imagen y también obtener la imagen y todos los estilos mientras abro el archivo de nuevo. Estoy atrapado en un punto, es decir. cuando se copia todo el contenido de la EDITTEXT, mientras se pega a excepción imagen todas las cosas consiguieron pegar, pero en la zona de la imagen que se ponía así enter image description herecopiar y pegar imagen en Edittext

alguna idea o solución para copiar y pegar la imagen. Gracias.

+0

tengo el mismo problema en edittext ¿ha resuelto este problema? –

Respuesta

0

¿Revisaste el contenido en el portapapeles? ¿Cómo se maneja la imagen en el portapapeles? Tendrá que hacer que su RichTextView maneje la operación pegar (es la imagen copiada como un bimap/está haciendo referencia a una ruta al mapa de bits) desde el portapapeles.

+0

Su copia en formato html. –

1

Tengo el mismo problema. Después de obtener la cadena del campo editText, encuentro el carácter "obj" y luego lo reemplazo por el enlace de la imagen. Creé una ArrayList para almacenar los enlaces de las imágenes. Y, además, creo que necesito atrapar la acción de eliminación. Si se elimina una imagen, eliminé su enlace en la lista de imágenes. A continuación se muestra el código que utilizo para reemplazar el carácter "obj".

private String replaceSpecialCharactorFromNote(){ 
    String noteString = edt_note.getText().toString(); 
    char[] noteCharacters = noteString.toCharArray(); 
    for(int i=0; i<noteCharacters.length; i++){ 
     if((int)noteCharacters[i] <1 || (int)noteCharacters[i]>254){//compare the ascii code 
      Log.i("the first abnormal charactor is ", "" + noteCharacters[i]); 
      if(imageIndex < imgsList.size()){ 
       Log.i("replace triggered", "special char index is "+i); 
       Log.i("replace triggered", "replaced image index is "+imageIndex); 
       Log.i("replace triggered", "image is "+imgsList.get(imageIndex)); 
       String beforeString = noteString.substring(0, i); 
       String afterString = noteString.substring(i+1); 
       noteString = beforeString + imgsList.get(imageIndex) + afterString; 
       Log.i("replace triggered", "note is "+noteString); 
      } 
      imageIndex++; 
     } 
    } 
    return noteString; 
} 

En general, no creo que la forma en que lo hice es la mejor manera de resolver el problema. La mejor manera probablemente será crear un campo personalizado para manejarlo.

Cuestiones relacionadas