Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

copying and pasting image in Edittext

I am on the project RichTextEditor and completed almost all functionality. I can insert image and can save the file with image and also getting the image and all styles while opening the file again.I am stuck at one point ie. when copying all the content of the Edittext, while pasting except Image all things got paste, but in image area i got like this enter image description here

any idea or workaround to copy and paste the image. Thanks.

like image 543
Mohammed Azharuddin Shaikh Avatar asked Mar 06 '12 04:03

Mohammed Azharuddin Shaikh


1 Answers

I have the same problem. After get the editText field's string, I find the "obj" character, and then replace it with image's link. I created a ArrayList to store the images' links. And moreover, I think I need to catch the delete action. If an image is deleted, I deleted its link in the image list. Below is the code I use to replace the "obj" character.

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;
}

Overall, I do not think the way I did is the best way to solve the problem. The best way probably will be to create a custom field to handle it.

like image 166
Chao Avatar answered Sep 22 '22 13:09

Chao