如何获取多个文本条目并将其作为电子邮件发送?

时间:2013-06-11 00:10:23

标签: android email android-intent input send

我想在这里完成一些事情就是我的情况

我有一个应用程序:

Contact.xml:此布局有6个不同的文本条目,分别为姓名,电子邮件,电话,日期,时间等。加上3个单选按钮(上午,下午,晚上)[所有3个都可以选择]所有这些都需要从应用程序发送电子邮件并发送到我的收件箱。它们都有不同的文本输入框。 所以喜欢这个

Name    ___________
Email   ___________
Date    ___________
Date    ___________
Time    ___________

And Checkboxed selecting which time of the day
[Send]

发送是一个按钮,行是文本输入字段

我需要的是获取所有内容并用逗号分隔并通过电子邮件发送。我该怎么做(我所知道的是你必须按意图去做)。单击发送按钮后,我想弹出一个并选择您想要使用的邮件客户端(取决于您安装的客户端应用程序[Gmail,Hotmail,yahoo等])

道歉是在我找不到我的不同文本条目之前已经被问过。

非常感谢先进的

2 个答案:

答案 0 :(得分:2)

This code may solve your problem

        package com.example.intentex;

        import android.content.Intent;
        import android.os.Bundle;
        import android.app.Activity;
        import android.view.Menu;
        import android.view.View;
        import android.widget.Button;
        import android.widget.EditText;
        import android.widget.TextView;

        import java.sql.Date;

        public class MainActivity extends Activity {
            TextView name1;
            EditText name;
            EditText email;
            TextView date1;
            EditText date;
            TextView time1;
            EditText time;
            Button button;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                TextView name1 = (TextView)findViewById(R.id.name1);
                final EditText name = (EditText)findViewById(R.id.name);
                TextView email1 = (TextView)findViewById(R.id.email1);
                final EditText email = (EditText)findViewById(R.id.email);
                TextView date1 =(TextView)findViewById(R.id.date1);
                final EditText date = (EditText)findViewById(R.id.date);
                TextView time1 = (TextView)findViewById(R.id.time1);
                final EditText time = (EditText)findViewById(R.id.time);
                Button button = (Button)findViewById(R.id.button);
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                       String myname = name.getText().toString();
                       String myemail = email.getText().toString();
                       String mydate = date.getText().toString();
                       String mytime = time.getText().toString();
                        String emailAddressList[] = {"emailAddres"};
                       String mycontent = myname + "," + myemail + "," + mydate + ","+ mytime;
                        Intent email = new Intent(Intent.ACTION_SEND);
                        email.setType("plain/text");
                        email.putExtra(Intent.EXTRA_EMAIL, emailAddressList);
                        email.putExtra(Intent.EXTRA_TEXT, mycontent);
                        startActivity(Intent.createChooser(email, "Select Sender:"));


                    }
                });






            }


            @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }

        }

答案 1 :(得分:1)

要从edittexts获取文本,请使用getText()方法。

在您的活动或片段onCreate中,您将拥有一些绑定视图的代码。

e.g. myInput = (EditText)findViewById(R.id.myInputEditText);

(将myInput变量设为字段(如果尚未存在)。

因此,在点击按钮时,您可以访问这些视图。

onClick(View view){
 String myInputText = myInput.getText().toString();
 String myPhoneNumber = myPhoneNumber.getText().toString();
 etc etc

//combing strings.
//there are more elegant ways to join strings if you have quite
//a few to join
String finalData = myInputText + "," + myPhoneNumber;

//you have this already
Intent emailIntent = new Intent......
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, finalData);
//start intent
}