如何创建将充当链接的TextView

时间:2010-09-29 13:31:04

标签: android hyperlink textview

我有Textview位置:

例如。 “加州山景城”

我想要实现的是创建此文本以像链接 - 颜色,下划线,可聚焦性等。

这个链接不需要指向任何地方 - 周围的视图附加了触发谷歌地图意图的onClick侦听器。

4 个答案:

答案 0 :(得分:15)

这样的事情应该有效。

  TextView location = (TextView) findViewById(R.id.location);
  location.setMovementMethod(LinkMovementMethod.getInstance());
  Spannable spans = (Spannable) location.getText();
  ClickableSpan clickSpan = new ClickableSpan() {

     @Override
     public void onClick(View widget)
     {
        //put whatever you like here, below is an example
        AlertDialog.Builder builder = new Builder(MainActivity.this);
        builder.setTitle("Location clicked");
        AlertDialog dialog = builder.create();            
        dialog.show();
     }
  };
  spans.setSpan(clickSpan, 0, spans.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

答案 1 :(得分:3)

ApiDemos中有一个例子可以解决您的问题。查看com.example.android.apis.text.Link课程,这可能会有所帮助。以下是代码的一部分:

TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(
        Html.fromHtml(
            "<b>text3:</b>  Text with a " +
            "<a href=\"http://www.google.com\">link</a> " +
            "created in the Java source code using HTML."));
t3.setMovementMethod(LinkMovementMethod.getInstance());

答案 2 :(得分:0)

tv.setMovementMethod(LinkMovementMethod.getInstance());

如果您没有获得点击回调

答案 3 :(得分:0)

您可以使用Spannable类与mTextView.scollTo()创建内部链接