0

クリックするとアクティビティを起動するテキスト文字列でクリック可能なリンクを作成しようとしています。Linkify() を使用して、テキスト内のリンクを検出しました。この関数は、テキストへのリンクを追加できますが、Web URL のみです。この手法を実装できるように、出力を ClickableSpan に変換する必要があります。

Linkify() の識別されたリンクを、アクティビティにつながる ClickableSpans にする方法を教えてください。

以下は、Linkify で使用したコードです。

// Linkify parameters
final static Pattern pattern = Pattern.compile("\\[[^]]*]"); // defines the fact that links are bound by [square brackets]
final String scheme = "http://"; // TODO: Currently this is just a blank link
Linkify.addLinks(linkText, pattern, scheme);
4

2 に答える 2

0

達成したいことについては、おそらく、のstartActivity()メソッドをオーバーライドして、テキストのURLでインテントをActivityインターセプトする方が簡単です。ACTION_VIEWこのようなもの:

public class MyActivity extends Activity {

    @Override
    public void startActivity(Intent intent) {
        final String action = intent.getAction();
        if (action.equals(Intent.ACTION_VIEW)) {
            // launch our other activity instead
            Intent ourIntent = new Intent(this, MyOtherActivity.class);
            ourIntent.setData(intent.getData());
            super.startActivity(ourIntent);

            // we're done!
            return;
        }

        // else, normal handling by the framework
        super.startActivity(intent);
    }

    // the rest of your activity code

}

参考までに、上記のメソッドをトリガーするURLSpanのソースコードを次にstartActivity()示します。

于 2012-09-06T13:53:46.147 に答える