做了一个textview 想把数据库里查询出来的网址显示成超链接 求详细点 新手 谢谢
2条回答 默认 最新
- danielinbiti 2015-05-05 18: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 没输出运行不了什么问题
- ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
- ¥15 点云密度大则包围盒小
- ¥15 nginx使用nfs进行服务器的数据共享
- ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
- ¥15 51嵌入式入门按键小项目
- ¥30 海外项目,如何降低Google Map接口费用?
- ¥15 fluentmeshing
- ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
- ¥15 盘古气象大模型调用(python)