做了一个textview 想把数据库里查询出来的网址显示成超链接 求详细点 新手 谢谢
2条回答 默认 最新
- danielinbiti 2015-05-06 02:40关注
在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现 代码如下: 第一种 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); TextView textView = new TextView(this); String html = "有问题:\n"; html+="百度一下";//注意这里必须加上协议号,即http://。 //否则,系统会以为该链接是activity,而实际这个activity不存在,程序就崩溃。 CharSequence charSequence = Html.fromHtml(html); textView.setText(charSequence); textView.setMovementMethod(LinkMovementMethod.getInstance()); layout.addView(textView); this.setContentView(layout,params); } } 第二种 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); TextView textView = new TextView(this); String html = "有问题:\n"; html+="www.baidu.com";//这里即使不加协议好HTTP;也能自动被系统识别出来。 textView.setText(html); textView.setAutoLinkMask(Linkify.ALL); textView.setMovementMethod(LinkMovementMethod.getInstance()); layout.addView(textView); this.setContentView(layout,params); } 总结一下就是,以html显示超链接,必须写全url。以setAutoLinkMask(Linkify.ALL)可以不用不用写全,就能自动识别出来。 这两种方法,都得设置一下setMovementMethod,才会跳转。 另外setAutoLinkMask不仅 识别超链接,包括电话号码之类的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!
- ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
- ¥15 求daily translation(DT)偏差订正方法的代码
- ¥15 js调用html页面需要隐藏某个按钮
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 牛顿斯科特系数表表示