2011-03-30 57 views
9

我有两个Intent s和两个Activity s。从意图传递数据到其他意图

我在第一个IntentEditText

我想用在EditText文本在第二意图和传递给第二个意图

Intent myIntent = new Intent(mycurentActivity.this, secondActivity.class); 
startActivity(myIntent); 

预先感谢您

回答

12

你找Intent#putExtra(String, String).

下面是一个例子:

Intent myIntent = new Intent(mycurentActivity.this, secondActivity.class); 
myIntent.putExtra("key", myEditText.Text.toString(); 
startActivity(myIntent); 

当你收到我ntent你可以再次提取它:

String text = myIntent.getStringExtra("key"); 

(http://developer.android.com/reference/android/content/Intent.html#getStringExtra(java.lang.String))

+1

我把代码就像你写的第二个活动,然后Eclipse询问我创造一个局部变量意向并对其进行初始化为空; 然后我运行代码,我得到一个空屏幕 在此先感谢。 最好的regrads – User616263 2011-03-30 22:11:36

+1

你应该创建一个局部变量int。请显示你的代码。 – RoflcoptrException 2011-03-30 22:12:43

+0

有没有办法传递对象?这种方式非常迂回 – Vincent 2011-04-01 09:07:14

0

第一项活动

Intent myIntent = new Intent(rechercheCP.this, XMLParsing.class); 
        myIntent.putExtra("key", autoComplete.getText().toString()); 
        startActivity(myIntent); 

在第一活动第二个活动

TextView a; 
String text = myIntent.getStringExtra("key"); 
a = new TextView(this); 
    a.setText(text); 
    layout.addView(a); 
0

//... 
final static int EDIT=0; 
//...(action trigger) 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    Intent intent; 
    intent = new Intent().setClass(mycurentActivity.this, secondActivity.class); 
    startActivityForResult(intent, EDIT); 
} 
//... 

,后来在第一个活动

//... 
protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    switch(requestCode){ 
     case EDIT: 
      if(resultCode == RESULT_OK){ 
      String text = data.getStringExtra("key"); 
      //do whatever with the text... 
     }else if(resultCode == RESULT_CANCELED){ 
     } 
    break; 
    } 
} 
//... 

//... 
Intent intent = new Intent().setClass(secondActivity.this, mycurentActivity.class); 
intent.putExtra("key", myEditText.getText().toString); 
setResult(RESULT_OK, intent); 
finish(); 
//... 
相关问题