2011-07-14 26 views
5

我想在我正在开发的Android应用上放置一个超链接。如何将超链接放置在Android应用程序的网站上?

我尝试这样做:

main.xml中

<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中

<?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和我不想显示实际的网址。

1)如何用“点击这里访问Google”文本替换链接,文本链接到网站的网址?

2)如何将电子邮件地址(同样的问题,如何与文本类似替换“点击此处”和文本应与[email protected]链接)


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

但我得到以下错误消息:

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 

回答

10

,使用T他默认Linkify class

这里是一个Example,并从教程中的代码:

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

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:[email protected]\">Click Me!</a>"; 
    email.setText(Html.fromHtml(emailText)); 
    email.setMovementMethod(LinkMovementMethod.getInstance()); 
} 

}

+0

这个怎么样教程(我试图让它工作,但我收到错误信息:[http://coderzheaven.com/2011/05/10/textview-with-link-in-android/](http://coderzheaven.com/ 2011/05/10/textview-with-link-in-android /) - 请看上面,我更新了我的帖子。 – super

+1

我没有看到你的java代码,所以我不知道是什么问题。在我看来,你需要将“”改为“”。我附上上面的工作示例代码,请尝试此代码。 – kameny

+0

感谢它的工作 – super

相关问题