4

テキストビューへのリンクを追加して、次のコードを作成したいと思います。

TextView textview = (TextView) findViewById(R.id.mytext);
Pattern myPattern = Pattern.compile("WordToBeLinked");
String link = "http://mydomain.com/something";
Linkify.addLinks(textview, myPattern, link);

したがって、すべてが正常に機能します。「WordToBeLinked」という単語がリンクされ、そのリンクでブラウザが開きますが、どういうわけかLinkifyは「WordToBeLinked」をURLに追加するため、呼び出されるURLは次のようになります。

http://mydomain.com/somethingWordToBeLinked

誰かが私が間違ったことを教えてもらえますか?ありがとう

4

2 に答える 2

6

TransformFilterを使用する必要があります。この助けを願っています。

            TextView textview = (TextView) findViewById(R.id.mytext);
            textview .setText("WordToBeLinked");

            TransformFilter mentionFilter = new TransformFilter() {
                public final String transformUrl(final Matcher match, String url) {
                    return new String("http://mydomain.com/something");
                }
            };

            Pattern pattern = Pattern.compile(".");
            String scheme = "";
            Linkify.addLinks(textview, pattern, scheme, null, mentionFilter);

あなたのケースにはパターンとスキームがないので、それらは単なるプレースホルダーです。

于 2011-06-15T13:41:00.767 に答える
0

これは、linkifyのドキュメントで説明されている正確な動作です。

単語をリンクに置き換えたい場合は、次のようにします。

オーバーロードされたメソッドを使用し、変換フィルターを使用して最終的なURLを書き換えることができます。

于 2011-06-15T13:42:31.070 に答える