2

例: 次の文字列リソースを見てください。

 <string name="b1b">This link will take you to google.com. More text here.</string>

この文字列リソースをアプリで次のように表示します。

このリンクからGoogleにアクセスできます。その他のテキストはこちら。

3 つのテキストビューを使用できません。これはほんの一例です。したがって、テキストビュー全体をリンクにすることはできません。

(なぜですか? 私がアプリで行っているのは… 12 個のボタンがあり、それぞれが文字列リソース ID をインテントとして「テキスト シャワー アクティビティ」に送信します…そしてその中で、表示する単一のテキストビューを持っているだけです。ユーザーがクリックしたボタンに応じてテキストが異なるため、アプリのサイズを節約できます。

さらに、そのようなすべてのテキスト文字列リソースは、さまざまな場所でさまざまな数のリンクを持っているため、リンクのためだけに単一のテキストビューを作成し、その間に何らかの形で織り込むことは現実的ではありません.)

そのため、文字列リソースの一部をリンクにする必要があります。私は<a>効果がなかったものを試しました。

これを行う方法?

4

2 に答える 2

9

XML リソースの例:

</string name="mlink">
    to go to Google<![CDATA[ <a href="http://google.com">click here</a>]]> 
    and <![CDATA[<a href="http://yahoo.com">this</a>]]> moves you to yahoo!
</string>

ジャワ:

yourTextView.setMovementMethod(LinkMovementMethod.getInstance());
yourTextView.setText(Html.fromHtml(getString(R.string.mlink)));

CDATAタグ内に HTML リンクを配置する必要があることに注意してください。これは、文字列リソースでリンクを使用する適切な方法です。

于 2013-10-11T06:21:27.307 に答える