【问题标题】:How to create TextView that will act as a link如何创建将充当链接的 TextView
【发布时间】:2011-04-18 20:02:19
【问题描述】:

我有一个Textview 位置:

例如。 “加利福尼亚州山景城”

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

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

【问题讨论】:

    标签: android hyperlink textview


    【解决方案1】:

    这样的事情应该可以工作。

      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);
    

    【讨论】:

    • 您的回答很好。但它将整个文本显示为链接。如何使只有链接部分应该是可点击的,而不是整个文本。
    • @iDroidExplorer 在最后一行,将 0, spans.length() 更改为您希望可点击的字符串的范围。
    • 不错。非常感谢。
    【解决方案2】:

    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());
    

    【讨论】:

      【解决方案3】:

      tv.setMovementMethod(LinkMovementMethod.getInstance());

      如果您没有收到点击回调

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-08-18
          • 1970-01-01
          • 2014-06-04
          • 1970-01-01
          • 1970-01-01
          • 2021-09-09
          • 1970-01-01
          相关资源
          最近更新 更多