2010-11-29 7 views
37

これはちょっとした問題のようですが、私は一種の困惑しています。 Html.fromHtml()を使用してHTML文字列をロードし、その文字列内のリンクをクリック可能にしてブラウザで開きたいとします。fromHTMLのリンクをクリック可能にするにはどうすればよいですか? (Android)

Basicの例:それは(青、下線)のリンクであるかのようにこのスニペットでは

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

は、テキストがフォーマットされ、それがクリック可能ではありません。私はLinkifyを試しましたが、HTMLベースではないリンクでしか動作しないようです。

提案がありますか?私が想定したよう

答えて

113

は、解決策は簡単だった:私はどのように非常にわからないが、

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

二行目は何とか、リンクの動作を活性化させます。同じ質問はGoogle Codeで扱われます。それは、この方法でなければなりません

+1

注意これをString.xmlリソースを参照して試しました。このWONTの仕事。 :-) – Blundell

+2

strings.xmlにCDATAを使用して、サブタグで処理されるリンクを回避します。 –

+1

4.0では動作していません以前のバージョンについてはわかりません:( – schwiz

3

:XMLで

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

<TextView 
    android:id="@+id/txtview" 
    android:autoLink="web" 
    android:linksClickable="true" 
    /> 
+3

私はこの解決法を動かすことができません。試したことがありますか?「目に見える」リンクをリンクするだけで、別のテキストのアンカーではなく同じ問題を抱えているようです。 –

+0

autoLinkは、だから違いがあります) –

5

あるべきLinkMovementMethodのJavadocはDPADセンターとのリンクをクリックすること

サポートしていることを述べていますか入る。

このように動作することは意味があります。

そして、他の回答で述べたように進むべき道を使用することです、ちょうど

textView.setMovementMethod(LinkMovementMethod.getInstance()); 
15

と魔法のように4.2.2作品で、確認:

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

ただし、これはしません他のコメントが示唆しているように、あなただけのアンドロイド:autoLinkの値が設定されていれば動作します。つまり、このソリューションを使用すると、電話、電子メール、マップを無効/リンク解除する代わりにURLをリンクすることができます。

+0

これは、Html.fromHtml()を使用している場合の正解です。選択された答えにnds。 – wblaschko

0
String data="MyTest"; 

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

これを編集して、android:autoLink属性をanythingに設定すると、移動方法が無効になります – Zach

関連する問題