私のアプリでは、番号が設定されている場合、クリックするとその番号で通話が開始され、Web サイトのリンクが指定されている場合は、その下線が表示され、クリックするとブラウザーが開きます。
同様に、テキストビューにメールアドレスが設定されている場合は、メールクライアントを開いて下線を表示したいと考えています。
私のアプリでは、番号が設定されている場合、クリックするとその番号で通話が開始され、Web サイトのリンクが指定されている場合は、その下線が表示され、クリックするとブラウザーが開きます。
同様に、テキストビューにメールアドレスが設定されている場合は、メールクライアントを開いて下線を表示したいと考えています。
ここでは、パターンについて説明します。
最初に画面が起動したら、値のタイプを確認してから、スタイルを設定し、以下のように関数をクリックする必要がありますTextView
。メールの送信方法、電話のかけ方、リンクから Web ブラウザーを開く方法はご存じだと思います。私は 3 つのクリック リスナーを作成しましたが、1 つを使用しても問題ありません。そのためのフラグを持つことができ、それに応じて代わりに操作を行うことができます。
public void setStyleAndFunction(CharSequence target) {
if(Patterns.EMAIL_ADDRESS.matcher(target).matches()) {
textview.setonClickListener() {
// send email
}
}
if(Patterns.PHONE.matcher(target).matches()) {
textview.setonClickListener() {
// make call
}
}
if(Patterns.WEB_URL.matcher(target).matches()) {
//set style (underline)
textview.setonClickListener() {
//open a web browser
}
}
}
試してみてください:
このコードTextView ClickEventを記述するか、 Linkifyとして設定してこれを呼び出します。
Intent i2 = new Intent(android.content.Intent.ACTION_SEND);
i2.setType("text/html");
i2.putExtra(Intent.EXTRA_CC,new String[]{"Your CC Mail ID"});
i2.putExtra(Intent.EXTRA_EMAIL , new String[]{"Your TO Mail ID"});
i2.putExtra(android.content.Intent.EXTRA_SUBJECT, "Your Mail Body");