Поэтому мне сложно создать несколько видов изображений в тексте редактирования, а затем назначить им изображения из галереи или камеры, а затем сохранить эти изображения в базе данных и извлечь их в той же позиции в моем тексте редактирования.Поэтому я создал ImageView
ниже EditText
, но это то, чего я не хочу.Я также попробовал Drawable
в Spannable
из EditText
, который хорошо работает при создании нескольких изображений внутри EditText
, но проблема в том, что я не могу сохранить эти изображения в базе данных и извлечь их, чтобы они показывались в том же положении, что и этиявляются частью моего EditText
.Я сохраняю свою форму EditText
в html
в базе данных.пожалуйста, скажите мне какое-нибудь решение об этой сложной работе.Спасибо
Первый подход заключается в создании Drawable
для нескольких изображений, но он является частью EditText
и не может сохранить эти изображения в базе данных и извлечь их в тех же позициях.
private void setImageinText(Bitmap myBitmap){
myBitmap = Util.scaleBitmapToFitWidth(myBitmap, 1360, true);
imageView.setImageBitmap(myBitmap);
Drawable d = imageView.getDrawable();
SpannableString ssd = new SpannableString("\n \n");
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ssd.setSpan(span, 1 , 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
texto.setTransformationMethod(null);
texto.getText().insert(texto.getSelectionStart(), ssd);
}
Другой подход заключается в создании изображения в макете и назначении изображения из галереи, но я могу сохранить в нем только одно изображение, и позиция просмотра изображения зафиксирована.
if (requestCode == GALLERY) {
if (data != null) {
Uri contentURI = data.getData();
try {
bp = MediaStore.Images.Media.getBitmap(context.getContentResolver(), contentURI);
imageView.setImageBitmap(bp);
imageView.setVisibility(View.VISIBLE);
photo= Util.getBytes(bp);
} catch (IOException e) {
e.printStackTrace();
}
}