0

私のコードは次のようになります。

String content = "Hi this is @Naveen. I'll meet @Peter in the evening.. Would you like to join @Sam??";

TextView contentTextView=(TextView)userHeader.findViewById(R.id.contentTextView);
contentTextView.setText(content);

textview にテキストを設定する前に、@Naveen、@Peter、@Sam のクリック イベントを追加したいと思います。ユーザーがこれらのテキストをタップすると、新しいインテントが開きます。それは可能ですか? どんなポインタでも非常に役に立ちます。

4

2 に答える 2

4

Linkifyをカスタムパターンで使用してみることができます。

ただし、それがニーズに合わない場合は、次のことを試すことができます。

SpannableString ss = new SpannableString("Hi this is @Naveen. I'll meet @Peter in the evening.. Would you like to join @Sam??");
ClickableSpan clickableSpanNaveen = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for naveen
    }
};
ClickableSpan clickableSpanPeter = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for peter
    }
};
ClickableSpan clickableSpanSam = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for sam
    }
};

ss.setSpan(clickableSpanNaveen, 11, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(clickableSpanPeter, 29, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(clickableSpanSam, 76, 79, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView contentTextView=(TextView)userHeader.findViewById(R.id.contentTextView);
contentTextView.setText(ss);
contentTextView.setMovementMethod(LinkMovementMethod.getInstance());
于 2013-03-05T12:11:52.753 に答える
3

Linkifyにリンクを追加するためのメソッドを提供する クラスを使用できますTextViews。メソッドを使用できます。このメソッドでは、一致させたいテキストのaと、この種のデータで機能する一致に使用されるカスタム スキームaddLinks(TextView textView, Pattern pattern, String scheme)を指定する必要があります。リンクをクリックしたときに開きたい は、このスキームを で宣言する必要があります。お役に立てれば。TextViewPatternActivitiesActivityintent-filter

于 2013-03-05T12:07:21.683 に答える