0

linkifyを使用してクリック可能なテキストを作成しようとしています。名前をクリックすると、メールインテントを呼び出したいです。ただし、メールアドレスはlinkifyと同じではありません。パターンが「特定の名前」である場合に、linkifyを介してmailto:specificname@gmail.comを実行する方法はありますか?これが私のサンプルコードです:

final TextView tx1=new TextView(this);
tx1.setAutoLinkMask(0);
Pattern pattern = Pattern.compile("John Doe");
Linkify.addLinks(tx1, pattern, "mailto:johndoe@gmail.com");

ここでわかるように、この問題は、電子メールのインテントが件名「johndoe@gmail.comJohnDoe」に入力されていることです。これは明らかな結果ですが、スキーム内のパターンテキストを切り捨てる方法がわかりません。ご協力いただきありがとうございます。

ps linkifyを含まない別の方法を知っている場合は、クレジットも取得します:)

4

2 に答える 2

2

Linkify以外の回答があります:

 final TextView tx1 = (TextView) findViewById(R.id.email);
 String name = "John Doe";
 String email = "johndoe@gmail.com";

 tx1.setText(Html.fromHtml("<a href=\"mailto:"+email+"\">"+name+"</a>"));
 tx1.setMovementMethod(LinkMovementMethod.getInstance());

しかし、おそらくもっと良い方法があります。

于 2011-10-25T03:39:12.197 に答える
0

この場合、TransformFilter を使用できます。 Linkify TransformFilter

于 2016-06-16T13:45:18.933 に答える