您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • 当前位置:首页 > 安卓源码 > 技术博客 >

    两种textView添加超链接的方法

    时间:2016-12-06 22:24 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印

    在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现 代码如下: 第一种 [代码]java代码: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 pub

    在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现

    代码如下:

    第一种

    [代码]java代码:

    ?
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    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+="<a href="http://www.baidu.com">百度一下</a>";//注意这里必须加上协议号,即http://。
     
    //否则,系统会以为该链接是activity,而实际这个activity不存在,程序就崩溃。
    CharSequence charSequence = Html.fromHtml(html);
     
    textView.setText(charSequence);
     
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    layout.addView(textView);
    this.setContentView(layout,params);
    }
     

    第二种

    [代码]java代码:

    ?
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    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不仅 识别超链接,包括电话号码之类的。

    两种textView添加超链接的方法转载http://www.codesocang.com/anzhuoyuanma/boke/33970.html
    标签:网站源码