我正在制作列表视图。 在该列表中,每个项目都有文本视图。 在文本视图中,我根据来自网络服务的数据定义链接文字。
现在,当我点击链接文字时,我得到错误,如
09-21 20:27:38.031: ERROR/AndroidRuntime(766): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=\"ticbeat.com/socialmedia/fa…" (has extras)
请帮我解决这个问题.. 任何解决方案的答案都将受到高度赞赏。
更新
代码:
if(urlentities[position]!=null && dpurlentities[position]!=null)
holder.twtdata.setText(Html.fromHtml(timelines[position].replace(urlentities[position],"<a href=\\\""+dpurlentities[position]+"\">"+urlentities[position]+"</a>")));
答案 0 :(得分:8)
看起来您需要将http://
放在该网址的开头。如果没有协议说明符,Android似乎假设“content://”是预期的URL类型。
答案 1 :(得分:0)
默认情况下,Linkify会打开默认浏览器(新活动)。我猜你将getBaseContext()
作为上下文传递给TextView(Context context)
。您必须将活动作为Context传递给默认情况下才能工作。如果您担心内存泄漏,可以尝试getApplicationContext()
但尚未对其进行测试。
处理这种情况的最佳方法是在跨越onclick()
的TextView上创建一个侦听器。您的活动(创建textView()的活动捕获该监听器,然后活动打开浏览器。Here您可以看到如何创建自己的监听器
另一种方法是在你的布局中实现一个WebView,你需要做的就是显示带有链接点击的webView。 getBaseContext()可以做到这一点。