以下代码跟添加图片后只显示图片地址有没有关系 如果有,该如何修改隐藏图片地址 请给出修改后的代码private void insertImg(String path) { String tagPath = “<img src=”“ + path + ”“/>”;//为图片路径加上<img>标签 Bitmap 位图 = BitmapFactory.decodeFile(path);//根据路径找到图片 if (bitmap != null) { //格式化存储路径 SpannableString ss = getBitmapMime(path, tagPath);将图片插入文本视图 insertPhotoToEditText(ss);Log.d(“insertimage”, path + “with” + tagPath);} else { Toast.makeText(NoteEditActivity.this, “插入失败,无读写存储权限,请到权限中心开启”, Toast.LENGTH_LONG).show(); } }private void insertPhotoToEditText(SpannableString ss) {//把文本插入便签,如 Editable et = mNoteEditor.getText(); int start = mNoteEditor.getSelectionStart(); ss.getSpans(0, ss.length(), ImageSpan.class); // 将图片添加进EditText中 if(start < 0 || start >= et.length()){ //如果是在文本的结尾 et.append(ss); }else{ //如果是在文本的中间 et.insert(start, ss); } //将图片路径写入数据库——非常关键,否则无法显示图片 mWorkingNote.setWorkingText(et+“\n”);mNoteEditor.setText(et);mNoteEditor.setSelection(start + ss.length());mNoteEditor.setFocusableInTouchMode(true);mNoteEditor.setFocusable(true);}
时间: 2024-04-06 18:34:07 浏览: 72
android用java动态增添删除修改布局
是的,代码中的tagPath是图片路径加上img标签后的字符串,这会导致图片地址显示在文本中。要隐藏图片地址,可以将tagPath的值改为一个特殊的字符串,例如“[图片]”,然后在插入图片时将这个字符串作为占位符插入文本中,这样就可以隐藏图片地址了。
修改后的代码如下:
private void insertImg(String path) {
String tagPath = "[图片]"; // 将图片路径的标签改为特殊字符串
Bitmap bitmap = BitmapFactory.decodeFile(path);
if (bitmap != null) {
SpannableString ss = getBitmapMime(path, tagPath);
insertPhotoToEditText(ss);
Log.d("insertimage", path + "with" + tagPath);
} else {
Toast.makeText(NoteEditActivity.this, "插入失败,无读写存储权限,请到权限中心开启", Toast.LENGTH_LONG).show();
}
}
private void insertPhotoToEditText(SpannableString ss) {
Editable et = mNoteEditor.getText();
int start = mNoteEditor.getSelectionStart();
ss.getSpans(0, ss.length(), ImageSpan.class);
if (start < 0 || start >= et.length()) {
et.append(ss);
} else {
et.insert(start, ss);
}
mWorkingNote.setWorkingText(et + "\n");
mNoteEditor.setText(et);
mNoteEditor.setSelection(start + ss.length());
mNoteEditor.setFocusableInTouchMode(true);
mNoteEditor.setFocusable(true);
}
阅读全文