Я работаю над приложением, в котором пользователь может выбрать изображение из галереи, и она будет добавлена в EditText, теперь я хочу, если пользователь нажимает на изображение в EditText он должен открыть в полноэкранном режиме, я использовал код ниже: -Как обрабатывать событие onClick на imageSpan в editText?
public void addToEdt(Bitmap bitmap){
SpannableString ss = new SpannableString("abc");
Drawable d = new BitmapDrawable(getResources(), bitmap);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
edt_note.setTransformationMethod(null);
edt_note.getText().insert(edt_note.getSelectionStart(), ss);
final int start = ss.getSpanStart(span);
final int end = ss.getSpanEnd(span);
ClickableSpan click_span = new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(getApplicationContext(),"Clicked",Toast.LENGTH_LONG).show();
}
};
ClickableSpan[] click_spans = ss.getSpans(start, end, ClickableSpan.class);
if(click_spans.length != 0) {
// remove all click spans
for (ClickableSpan c_span : click_spans) {
ss.removeSpan(c_span);
}
}
ss.setSpan(click_span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
попробовал код выше, но его не слушал событие onClick, Теперь, как я могу прослушать событие click на этом изображении и выполнить дальнейшую задачу?
Я попробовал setMovementMethod, но его не работает, пожалуйста, объясните подробно, где я должен измениться в своем ВЫШЕ code (addtoEdt (Bitmap bitmap)) –
ImageSpan span = new ImageSpan (d, ImageSpan.ALIGN_BASELINE); ss.setSpan (диапазон, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); Аналогичным образом добавьте clickablespan к тому же самому месту начала и конца -> 0,3. – Rahul
жаль, что я не получу, вы можете отредактировать мой код и опубликовать в качестве ответа, если его работа я приму на ваш ответ :) –