如何使编辑文本的值能够发送到另一个活动?

时间:2012-08-03 07:07:14

标签: android button android-intent android-edittext textview

我正在开发一个应用程序,我在EditText中键入日期,它会将日期(输入的内容)发送到另一个活动并显示为TextView。我在文本框上方创建了一个按钮。

以下是发送和获取日期的两项活动。 PersonalInfo.class 这些是将日期发送到另一个活动的代码

Button btnDate = (Button) findViewById(R.id.btnDate);
        btnDate.setOnClickListener(new View.OnClickListener()
            {

                @Override
                public void onClick(View v)
                {
                    Intent dateIntent = new Intent();                   
                    dateIntent.setClass(PersonalInfo.this, Create_Events.class);
                    dateIntent.putExtra("passDate", "Date_var_here");
                    PersonalInfo.this.startActivity(dateIntent);

                }
            });

Create_Events.class 从第一个活动获取日期的代码,它会将日期显示为textview

Intent dateIntent = this.getIntent();    
        /* Obtain String from Intent  */   
        if(dateIntent !=null)   
        {      
            String strDate = dateIntent.getExtras().getString("passDate");     
            TextView txtDate = (TextView) findViewById(R.id.txtDate);
            txtDate.setText(strDate);
        } 

3 个答案:

答案 0 :(得分:0)

您在第二项活动中输入错误的intent名称。

String strDate = **dateIntent**.getExtras().getString("passDate"); 

最终代码是

Intent dateIntent = this.getIntent();    
/* Obtain String from Intent  */   
if(dateIntent !=null)   
{      
    String strDate=getIntent.getStringExtra("passDate");   
    TextView txtDate = (TextView) findViewById(R.id.txtDate);
    txtDate.setText(strDate);
} 

答案 1 :(得分:0)

使用此命令从EditText获取文本:

dateIntent.putExtra("passDate", idEditText.getText().toString());

答案 2 :(得分:0)

 EditText et = (EditText) findViewById(R.id.my_edit_text);
 String theText = et.getText().toString();
 // To pass it to another Activity you use an Intent. Example...

   Intent i = new Intent(this, MyNewActivity.class);
      i.putExtra("text_label", theText);
      startActivity(i);

在新的Activity中(在onCreate()中),你得到了Intent并检索了String ...

public class MyNewActivity extends Activity {

   String uriString;
  @Override
  protected void onCreate(...) {
    ...

    Intent i = getIntent();
    uriString = i.getStringExtra("text_label");

}
 }