簡體   English   中英

如何在HTML中點擊鏈接? (機器人)

[英]How can I make links in fromHTML clickable? (Android)

這似乎是一個微不足道的問題,但是讓我有些難過。 我想使用Html.fromHtml()加載HTML字符串,並且字符串中的任何鏈接都可以在瀏覽器中單擊並打開。

基本示例:

textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));

使用此代碼段,文本的格式就像是一個鏈接(藍色,帶下划線),但它不可點擊。 我嘗試過Linkify,但它似乎只適用於非基於HTML的鏈接。

有什么建議?

正如我所假設的那樣,解決方案很簡單:

textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
textView.setMovementMethod(LinkMovementMethod.getInstance());

第二行以某種方式激活鏈接行為,雖然我不太確定如何。 Google Code上也解決了同樣的問題。

正如其他答案中所提到的,前進的方法是使用:

xtView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
textView.setMovementMethod(LinkMovementMethod.getInstance());

但是,如果你有任何android:autoLink值設置,這不會起作用,而不僅僅是'web',正如其他評論似乎暗示的那樣。 這意味着您可以使用此解決方案來鏈接URL,但代價是禁用/取消鏈接電話,電子郵件和地圖。

LinkMovementMethod的javadoc說它

支持單擊DPad Center或Enter的鏈接。

因此,以這種方式工作是有意義的。

並且確認,4.2.2的作品就像魅力一樣

textView.setMovementMethod(LinkMovementMethod.getInstance());

它應該是這樣的:

textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
textView.setAutoLinkMask(Linkify.WEB_URLS);
textView.setLinksClickable(true);

在XML中應該是

<TextView
    android:id="@+id/txtview"
    android:autoLink="web"
    android:linksClickable="true"
    />
String data="MyTest";

textView.setText(data);
textView.setText(Html.fromHtml(data));
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setLinksClickable(true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM