TextView
にリンクを設定する必要があります。<a href="link">Text for link</a>
というタグを含む文字列があります。 問題は、プロジェクトを実行するとテキストが表示されますが、クリックできないことです。私は<b>
タグでもうまくいっているかどうかを試してみましたが、うまくいかないようです。TextViewでのリンク
Linkify
を使用せずにこの機能を動作させるにはどうすればよいですか?
TextView
にリンクを設定する必要があります。<a href="link">Text for link</a>
というタグを含む文字列があります。 問題は、プロジェクトを実行するとテキストが表示されますが、クリックできないことです。私は<b>
タグでもうまくいっているかどうかを試してみましたが、うまくいかないようです。TextViewでのリンク
Linkify
を使用せずにこの機能を動作させるにはどうすればよいですか?
ありがとうございました。
私はアンドロイドサンプルでいくつかの例を見つけた後、私はこの仕事をすることができました。ここ
はコードです:
textView.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."));
textView.setMovementMethod(LinkMovementMethod.getInstance());
・ホープこのヘルプ他人を...
リンクを作成するために使用する必要があるクラスです。ところで、Linkifyを使用しない理由は何ですか?
ウェブサイトの訪問やスキーマに基づく電話番号の呼び出しなど、テキストビューのすべてのテキストをリンクすることができます。 Androidは最も簡単な方法です。以下のコードを考えてみましょう。
TextView noteView = (TextView) findViewById(R.id.noteview);
noteView.setText(someContent);
Linkify.addLinks(noteView, Linkify.ALL);
カスタムリンクを作成する場合、同じLinkifyクラスにはさまざまなオプションがあります。 Googleはa blogpost on thisを公開しています。
それはうまくいきません。テキスト – Cata
助けてくれてありがとう、私に下線を取り除くにはどうすればいいですか? – Jan
これは 'http://blah.com'のようなリンクでは機能しません。 – EpicPandaForce
私はいくつかの理由のためにあなたの答えに返信することはできません。私はtextView.setText
を省略して文字列リソースに入れて、android:text
を使用して設定すると言っています。あなたはちょうどtextView.setMovementMethod(LinkMovementMethod.getInstance());
を保つ必要があります。残念ながらandroid:linksClickable="true"
は単独で動作しません。 HTMLから作業
取得リンクは、トリッキーなの一種である:
がXML android:text="@string/…
経由でテキストを適用するかを経由してsetText()
(他の回答を参照してください)
使用textView.setMovementMethod(LinkMovementMethod.getInstance())
クリック可能なリンクを作るために(他の回答を参照してください)
Do android:autoLink="web"
をXMLリソースに追加します(セクションTextView
)、それ以外の場合、Aタグは正しく表示されず、もうクリックできません。
備考1:
あなたTextView
は1つのリンクのみが含まれており、ユーザーはさておき、あなたのリンクをクリックした場合でも、ナビゲーションをトリガしたいのですが、TextView
内ならばOnClickListener
は、参考にすることができます。
備考2:
android:linksClickable="true"
まだ動作しません(Android 3.2以降)。 2の代わりに
私はそれを把握することができませんでしたが、最終的にはそれは私のような何かをした時に仕事を始め:
<TextView
android:id="@+id/tv_terms_of_use"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:textAlignment="gravity"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp" />
:
tvTermsOfUse.setText(Html.fromHtml(getString(R.string.tv_terms_of_use_html)));
Linkify.addLinks(tvTermsOfUse, Linkify.ALL);
tvTermsOfUse.setMovementMethod(LinkMovementMethod.getInstance());
テキストビューは次のようになります
と文字列res:
<string name="tv_terms_of_use_html">
<![CDATA[This is link to <a href="http://google.com/">Google</a>.]]>
</string>
重要な部分: Linkify.addLinks
は、それ以外の場合は動作しません、tvTermsOfUse.setMovementMethod
前を行う必要があります。
XMLには他の設定は必要ありません。
私はそれを理解するのに1時間ほどかかりました。誰かを助けてくれることを願っています。
EDIT:
@rfellonsによると
感謝のコメント。私にとっても...しかし、
<uses-permission android:name="android.permission.INTERNET"/>
Manifest.xmlでのみです。 - rfellons Sep 7 at 13:31
も確認してください。
これはかなりcorrectyを動作します(TextViewのプロパティでは、XMLファイル内の)
android:autolink="web"
ソリューション:Linkify.addLinks(chatText、Linkify.ALL)。
この作品、動的に(サーバからフェッチ)のリンクを追加するには:
textView.setText(Html.fromHtml(
"<a href=" + response.getLink()
+ ">" + context.getString(R.string.link_from_server) + "</a> "));
とXMLでこの追加:
:あなたのstrings.xmlがこれを持っている場合android:linksClickable="true"
を
<string name="link_from_server">Dynamic Link</string>
テキストビューに「ダイナミックリンク」が追加され、これをタッチすると、サーバーから提供されたリンクが表示されます。
あなたの質問はあまり明確ではありません。また、なぜあなたはlinkifyを使いたくないのですか? – Qberticus
あなたはあなたのアプリにtextviewをクリックすると何をすべきかを伝える必要があります(クリックイベントで - >リンクを開きます) –
いいえ、私はlinkifyで作成したくありません – Cata