1

私は簡単なパンフレットアプリを書いています。メールアドレスが含まれるテキストビューにテキストがあります。

<string name="wbl_contacts">
<p><strong>CONTACT</strong></p>
<p>
  <strong>Where you can find us</strong>
  1525 Newton St NW
  Washington D.C., DC 20010
202.667.1192
  For current listing of class schedule at each of our sites, e-mail <a href="mailto:enroll@wblinc.org.">enroll@wblinc.org</a>
  To learn about volunteer opportunities e-mail <a href="mailto:volunteer@wblinc.org">volunteer@wblinc.org</a>
  To submit your resume for internship consideration e-mail <a href="mailto:intern@wblinc.org">intern@wblinc.org</a>
  To submit work for consideration for publication in the WBL journal email <a href="mailto:submissions@wblinc.org">submissions@wblinc.org</a>
  All other questions can be directed to <a href="mailto:info@wblinc.org">info@wblinc.org</a>
or call us at 202-667-1192 </p>
    </string>

次のようにメールアプリケーションを追加するために Intent クラスを使用しようとしています:

//setting textviews
        tv1 = (TextView)findViewById(R.id.tv1);
        tv1.setMovementMethod(LinkMovementMethod.getInstance());
        //tv1.setText(Html.fromHtml(getString(R.string.wbl_contacts)));

        tv1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                //This will open an email client.  Find a way to use this code
                //to open all email address on any android app page
                Intent emailintent = new Intent(android.content.Intent.ACTION_SEND);
                emailintent.setType("text/html");
                emailintent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] {tv1.getText().toString()});
                emailintent.putExtra(android.content.Intent.EXTRA_SUBJECT, "");
                emailintent.putExtra(android.content.Intent.EXTRA_TEXT,"");
                startActivity(Intent.createChooser(emailintent, "Send mail..."));
            }
            });

アプリを実行すると、メール リンクがすべてリンク可能であるかのように強調表示されているにもかかわらず、TextView 全体がクリック可能であるように見えます...少し失われています。

提案や助けをいただければ幸いです。

4

1 に答える 1

0

はい、そのような動作に Intent を使用しないでください。代わりに、TextView をリンクする必要があります。linkify の詳細については、こちらをご覧ください。

次のようなことを行います。

Linkify.addLinks(tv1 , Linkify.ALL);

または、メール アドレスしかなく、href がない場合:

Linkify.addLinks(tv1 , Linkify.EMAIL_ADDRESSES);

追加の回答を編集:

電子メールを含む通常のテキストの代わりに HTML 構文を使用しているため、次を使用する必要があります。

tv1.setText(Html.fromHtml("your string");

すべての HTML タグが Android でサポートされているわけではありませんが、サポートされている HTML タグのリストはこちらで確認できます。

于 2013-07-17T04:19:56.477 に答える