android 点击添加图片,android – 如何为ImageSpan添加点击操作

我一直在努力解决同样的问题,找到解决方案.

要使图像可点击,您需要将ClickableSpan对象附加到与图像的ImageSpan相同的范围.

当您从Html.fromHtml()获取Spanned对象时,可以通过为其分配的ImageSpan对象集,并附加其他ClickableSpan对象.

喜欢这个:

ImageSpan[] image_spans = s.getSpans(0, s.length(), ImageSpan.class);

for (ImageSpan span : image_spans) {

final String image_src = span.getSource();

final int start = s.getSpanStart(span);

final int end = s.getSpanEnd(span);

ClickableSpan click_span = new ClickableSpan() {

@Override

public void onClick(View widget) {

Toast.makeText(HtmlImagesTestActivity.this,

"Image Clicked " + image_src,

Toast.LENGTH_SHORT).show();

}

};

ClickableSpan[] click_spans = s.getSpans(start, end, ClickableSpan.class);

if(click_spans.length != 0) {

// remove all click spans

for(ClickableSpan c_span : click_spans) {

s.removeSpan(c_span);

}

}

s.setSpan(click_span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值