У меня такая же проблема. После получения строки поля editText я нахожу символ «obj», а затем заменяю его ссылкой на изображение. Я создал ArrayList для хранения ссылок на изображения. И более того, я думаю, что мне нужно поймать действие удаления. Если изображение удалено, я удалил его ссылку в списке изображений. Ниже приведен код, который я использую для замены символа «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;
}
В целом, я не думаю, что то, что я сделал, является лучшим способом решения проблемы. Вероятно, лучшим способом будет создание настраиваемого поля для его обработки.