解决ListView里TextView设置LinkMovementMethod后导致其ItemClick失效

本文介绍了Android中LinkMovementMethod的工作原理,包括如何通过调用ClickableSpan和URLSpan来响应用户点击URL的行为,以及如何启动相应的Activity打开链接。

LinkMovementMethod:

它实现了一系列的方法,
比如它的onKeyDown调用ClickableSpan的onClick
URLSpan实现了ClickableSpan
用户点击一个url的话,就会调用LinkMovementMethod::onKeyDown,继而调用URLSpan的onClick,
我们看看URLSpan::onClick的实现
@override
public void onClick(View widget) {
Uri uri = Uri.parse(getURL());
Context context = widget.getContext();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
context.startActivity(intent);
}
它实际上是启动了一个activity,可能是web/email或者其他的满足intent filter/url schema的activity

http://stackoverflow.com/questions/8558732/listview-textview-with-linkmovementmethod-makes-list-item-unclickable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值