首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在android应用程序上放置指向网站的超链接?

如何在android应用程序上放置指向网站的超链接?
EN

Stack Overflow用户
提问于 2011-07-14 16:02:16
回答 1查看 32.1K关注 0票数 7

我想在我正在开发的android应用程序上放置一个超链接。

我试过这个:

main.xml

代码语言:javascript
复制
<TextView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:text="@string/hyperlink"
android:id="@+id/hyperlink" 
android:autoLink="web"
>
</TextView>

strings.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">WebLink</string>
<string name="hyperlink">http://google.com</string>
</resources>

但是问题是,链接看起来是这样的:http://google.com和我不想显示实际的url。

1)如何用“点击这里访问谷歌”这样的文字代替链接,并将文本链接到网站网址?

2)如何放置电子邮件地址(同样的问题,如何用类似于“单击此处发送电子邮件”之类的文本替换它,文本应该与email@domain.com链接)

我也尝试过本教程:http://coderzheaven.com/2011/05/10/textview-with-link-in-android/

但是,我收到以下错误消息:

代码语言:javascript
复制
Description Resource    Path    Location    Type
http cannot be resolved to a variable   MyLink.java /MyLink/src/com/MyLink  line 21 Java Problem
Syntax error on token "" <br /> <a href="", ? expected after this token MyLink.java /MyLink/src/com/MyLink  line 21 Java Problem
Type mismatch: cannot convert from String to boolean    MyLink.java /MyLink/src/com/MyLink  line 20 Java Problem
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-14 17:19:17

使用默认的Linkify类

下面是一个示例和本教程中的代码:

这是我的示例代码,我认为这将解决您的问题:

代码语言:javascript
复制
    public class StackOverflowActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 1) How to replace link by text like "Click Here to visit Google" and
        // the text is linked with the website url ?
        TextView link = (TextView) findViewById(R.id.textView1);
        String linkText = "Visit the <a href='http://stackoverflow.com'>StackOverflow</a> web page.";
        link.setText(Html.fromHtml(linkText));
        link.setMovementMethod(LinkMovementMethod.getInstance());
        // 2) How to place email address
        TextView email = (TextView) findViewById(R.id.textView2);
        String emailText = "Send email: <a href=\"mailto:person@stackoverflow.com\">Click Me!</a>";
        email.setText(Html.fromHtml(emailText));
        email.setMovementMethod(LinkMovementMethod.getInstance());
    }
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6696283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档