メーラーに送信する件名と本文表示について

304 views
Skip to first unread message

はる

unread,
Aug 20, 2011, 10:29:07 AM8/20/11
to 日本Androidの会
はじめまして教えていただきたく投稿いたしました。
現在、アンケートアプリを作成しています。
複数Activityの回答を1つのActivityにまとめて表示し、更に表示結果を
特定メールアドレスに送信するという内容です。
gmail起動、特定メールアドレス指定まではできているのですが、
件名と本文の表示が上手くいきません。

以下はどのようにすればよいのでしょうか。

1.件名「アンケート回答」で統一。※1度も定義していない文字列です。
2.本文 アンケートの質問であるtextviewQ1~Q4、
アンケートの回答であるtextview"first"、"second"、"third"、"feeling"をすべ
てセット。

作成しているActivityは以下となります。長くなり申し訳ございません。
よろしくお願いします。

package ex.an.sample;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;


public class FiveActivity extends Activity {
/** Called when the activity is first created. */

EditText mEditText;
RadioGroup mRadioGroup;
String first;
String second;
String third;
String feeling;
public TextView editText_;
public Intent intent;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fivelayout);


first = getIntent().getStringExtra("first");
second = getIntent().getStringExtra("second");
third = getIntent().getStringExtra("third");
feeling = getIntent().getStringExtra("feeling");

TextView inputfirst = (TextView)findViewById(R.id.Q1);
TextView inputsecond = (TextView)findViewById(R.id.Q2);
TextView inputthird = (TextView)findViewById(R.id.Q3);
TextView inputfeeling = (TextView)findViewById(R.id.Q4);

inputfirst.setText(first);
inputsecond.setText(second);
inputthird.setText(third);
inputfeeling.setText(feeling);


Button btn = (Button)findViewById(R.id.button3_id);
btn.setTag("send");
btn.setOnClickListener(new ButtonClickListener());
Button backbutton = (Button)findViewById(R.id.button2_id);
backbutton.setTag("back");
backbutton.setOnClickListener(new ButtonClickListener());
}
class ButtonClickListener implements OnClickListener {
public void onClick(View v)
{

String tag = (String)v.getTag();

if(tag.equals("send")){
Intent it = new Intent(Intent.ACTION_SENDTO,
Uri.parse("mailto:so....@gmail.com"));
startActivity(it);


}else if(tag.endsWith("back")){

finish();
}
}
}
}


飯塚康至

unread,
Aug 20, 2011, 9:22:08 PM8/20/11
to android-g...@googlegroups.com
お世話になります。飯塚です。

putExtraの話かな。intent putExtraで検索ください。

2011年8月20日23:29 はる <laverit...@ezweb.ne.jp>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
以上、宜しくお願いします。

飯塚 康至

はる

unread,
Aug 21, 2011, 5:15:33 AM8/21/11
to 日本Androidの会
飯塚様

ご返信ありがとうございます。

1.件名「アンケート回答」→こちらは以下で解決しました。念のため
  レイアウトビューにtextviewを作成しました。
 it.putExtra(Intent.EXTRA_SUBJECT, "アンケート回答");

2. 本文 に関しては、未解決です。4つの回答を表示させるため、以下を設定したところ、
  一番最後の行"feeling"しか反映されません。これからまたいろいろ試してみますが、
ご存知でしたら、複数の文言の表示について教えていただきたくお願いいたします。


it.putExtra(intent.EXTRA_TEXT,getIntent().getStringExtra("first"));

it.putExtra(intent.EXTRA_TEXT,getIntent().getStringExtra("second"));

it.putExtra(intent.EXTRA_TEXT,getIntent().getStringExtra("third"));

it.putExtra(intent.EXTRA_TEXT,getIntent().getStringExtra("feeling"));

溝口晴美
On 8月21日, 午前10:22, 飯塚康至 <iiz...@acl-inc.co.jp> wrote:
> お世話になります。飯塚です。
>
> putExtraの話かな。intent putExtraで検索ください。
>
> 2011年8月20日23:29 はる <laverite-hm2...@ezweb.ne.jp>:

飯塚康至

unread,
Aug 21, 2011, 5:28:13 AM8/21/11
to android-g...@googlegroups.com
お疲れ様です。飯塚です。
たぶん上書きされていると思うので、文字列を連結して最後に引数にセットすればよいかと思います。

Stringだと遅いので、
StringBuilder sb = new StringBuilder();
sb.append(getIntent().getStringExtra("first"));
//~他に追加したい処理~
it.putExtra(Intent.EXTRA_TEXT,sb.toString());

ということでOKでしょうか。

2011年8月21日18:15 はる <laverit...@ezweb.ne.jp>:

はる

unread,
Aug 21, 2011, 8:22:08 AM8/21/11
to 日本Androidの会
飯塚様

早々のご教授ありがとうございました!
macで改行がうまくできず時間がかかりましたが、以下を追加することで
希望のアプリがほぼ完成しました。改行は、"\n\r”を使用しないとnullあるいは
アルファベットがそのまま表示されました。

StringBuilder sb = new StringBuilder();
sb.append("Q1 ");
sb.append(getIntent().getStringExtra("first"));
sb.append("\n\r");
sb.append("Q2 ");
sb.append(getIntent().getStringExtra("second"));
sb.append("\n\r");
sb.append("Q3 ");
sb.append(getIntent().getStringExtra("third"));
sb.append("\n\r");
sb.append("Q4 ");
sb.append(getIntent().getStringExtra("feeling"));

どうもありがとうございました。

On 8月21日, 午後6:28, 飯塚康至 <iiz...@acl-inc.co.jp> wrote:
> お疲れ様です。飯塚です。
> たぶん上書きされていると思うので、文字列を連結して最後に引数にセットすればよいかと思います。
>
> Stringだと遅いので、
> StringBuilder sb = new StringBuilder();
> sb.append(getIntent().getStringExtra("first"));
> //~他に追加したい処理~
> it.putExtra(Intent.EXTRA_TEXT,sb.toString());
>
> ということでOKでしょうか。
>
> 2011年8月21日18:15 はる <laverite-hm2...@ezweb.ne.jp>:
Reply all
Reply to author
Forward
0 new messages