copying and pasting image in Edittext

倾然丶 夕夏残阳落幕 提交于 2019-12-04 03:07:46

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.

Did you check the content on the clipboard? How is the image handled in the clipboard? You will have to make your RichTextView handle the paste operation (is the image copied as a bimap / are you referencing a path to the bitmap) from the clipboard.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!