Sto lavorando su un app in cui all'utente di scegliere un'immagine dalla galleria e sarà aggiunto in EditText, ora voglio se l'utente clicca sull'immagine in EditText si dovrebbe aprire a schermo intero, ho usato qui di seguito il codice: -Come gestire l'evento onClick su imageSpan in 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);
}
provato sopra il codice ma non è in ascolto sull'evento onClick, ora, come posso ascoltare l'evento click su questa immagine ed eseguire ulteriori attività?
ho provato setMovementMethod ma non funziona, ti prego di spiegare in dettaglio, dove dovrei cambiare nella mia SOPRA codice (metodo addToEdt (bitmap bitmap)) –
span di ImageSpan = nuovo ImageSpan (d, ImageSpan.ALIGN_BASELINE); ss.setSpan (span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); Allo stesso modo aggiungi clickpanpan alla stessa posizione iniziale e finale -> 0,3. – Rahul
mi spiace non capisco, puoi modificare il mio codice e postare come risposta, se funziona, accetterò la tua risposta :) –