0

私は何かをしたい Click <a href='www.google.com'>Here</a>

アンドロイドで。私は以下を使用してみました:

TextView sponsoredlink = new TextView(this);
                sponsoredlink.setId(R.id.details_sponsored_link);
                sponsoredlink.setText("Click Here");

                Pattern pattern =Pattern.compile("Here");

                String link = "www.google.com";

                Linkify.addLinks(sponsoredlink, pattern, link);

しかし、www.google.comhere [sic] へのリンクになってしまいます。

4

1 に答える 1

2

私自身の質問に答えるために、変換フィルターに関するチュートリアルを見つけて、それを自分の目的に適合させました。

TextView sponsoredlink = new TextView(this);
                sponsoredlink.setId(R.id.details_sponsoredlink);
                sponsoredlink.setText("Click Here");

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

                // Match @mentions and capture just the username portion of the text.
                Pattern pattern = Pattern.compile(".");
                String scheme = "";
                Linkify.addLinks(sponsoredlink, pattern, scheme, null, mentionFilter);

最終的にテキスト全体を 1 つの大きなリンクにまとめたいと判断したので、テキスト全体に一致するパターンを作成しました。

次に、あなたが与えたものを無視して、人々を連れて行きたいURLを返す変換フィルターを作成しました

スキームも空の文字列である必要があるため、最後に何も追加されません

最後に、linkify を使用してすべてをまとめました

于 2011-04-05T17:43:47.150 に答える