ANDROID笔记:Activity之间的传值
在主activty中调用
Intent intent = new Intent(MyActivity.this, MyResultActivity.class); // 调用返回 startActivityForResult(intent, 1);
并且重载下列方法:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // String nameString = data.getStringExtra("name"); // String sexString = data.getStringExtra("sex"); // 获取Person对象 Person person = (Person) data.getSerializableExtra("person"); if (person != null) { String name = person.getName(); String sexString = person.getSex(); Toast.makeText(getApplicationContext(), name + "---" + sexString, Toast.LENGTH_SHORT).show(); } }
在调用的另一个actvity中调用下列方法就会返回
Intent intent = new Intent(MyResultActivity.this, MyActivity.class); // intent.putExtra("name", "eve"); // intent.putExtra("sex", "man"); // 返回对象 Person person = new Person("eve", "man"); intent.putExtra("person", person); // 返回数据 setResult(1, intent); finish();
使用Intent传输的对象必须实现Serializable接口!