MainActivity
public class MainActivity extends AppCompatActivity {
private static final int REQ_CODE_TO_ADD = 123;
final ArrayList<Contact> allContact = new ArrayList();
ArrayList<String> name = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Intent intent = new Intent(this,DetailActivity.class);
Button addbt = (Button)findViewById(R.id.addbt);
public void onClickAdd(View v){
Intent intent = new Intent(this,AddContactActivity.class);
startActivityForResult(intent,REQ_CODE_TO_ADD);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQ_CODE_TO_ADD){
if(resultCode == 0){
Intent intent = getIntent();
String name2 = intent.getStringExtra("namev");
String email2 = intent.getStringExtra("emailv");
String birthday2 = intent.getStringExtra("birthdayv");
Log.d("AAA",">>>:"+name2);
Contact person = new Contact(name2,email2,birthday2);
allContact.add(person);
}}
}
}
AddContactActivity
public class AddContactActivity extends AppCompatActivity {
private static final int REQ_CODE_TO_MAIN = 321;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_contact);
}
public void onClickOk(View v){
EditText name = (EditText)findViewById(R.id.nameet);
EditText email = (EditText)findViewById(R.id.email);
EditText birthdate = (EditText)findViewById(R.id.birthdate);
Intent intent = new Intent();
intent.putExtra("namev",name.getText().toString());
intent.putExtra("emailv",email.getText().toString());
intent.putExtra("birthdayv",birthdate.getText().toString());
setResult(0,intent);
finish();
}
}
AddContactActivity我已经使用了intent.putExtra name.getText()。toString()并将意图发送给MainActivity
为什么MainActivity Log.d输出中的onActivityResult()为空?
答案 0 :(得分:2)
您正在使用最初启动活动的Intent。使用作为参数发送的Intent。
答案 1 :(得分:1)
<?php echo "<script>document.getElementByID("#id").innerHTML = ". $myresult."</script>"
您需要使用数据而不是getIntent()
答案 2 :(得分:0)
没有必要
Intent intent = getIntent();
意图已作为参数传递,即数据&#39;
使用此变量提取数据。 希望这会有所帮助。
答案 3 :(得分:0)
Intent intent = getIntent(); // This line is wrong
String name2 = intent.getStringExtra("namev");
String email2 = intent.getStringExtra("emailv");
String birthday2 = intent.getStringExtra("birthdayv");
像这样修改你的代码
if(requestCode==2 && resultCode==RESULT_OK){
Bundle bundle=data.getExtras();// here "data" is your intent
String string=bundle.getString("message");
Log.i(TAG,"onActivityResult Called..."+string);
}