Android的startActivityForResult(Intent intent, int requestCode)方法可以用onActivityResult(int requestCode, int resultCode, Intent data)方法获得前Activity结束之后返回的数据。在startActivityForResult(Intent intent, int requestCode)方法中,第一个参数intent表示启动指定的Activity并且期望指定的Activity返回结果,第二个参数代表请求码,表示是哪个Activity请求返回结果;当新的Activity关闭后,系统都会自动调用回调方法onActivityResult(int requestCode, int resultCode, Intent data),为了知道该方法是由谁触发,可以使用requestCode,为了知道该结果由哪个新的Activity所返回,可以使用resultCode,resultCode由新的Activity结束前调用setResult(int resultCode, Intent intent)设置,data则是新的Activity所返回的数据。以下例子点击按钮进入注册界面,提交数据返回结果到第一Activity进行显示。
1.主界面只包含一个Button控件和TextView控件。(省略)
2.注册界面的xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="账号:"
android:textSize="16sp"/>
<EditText
android:id="@+id/etName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"