一、创建主活动
package com.example.androidtest; import android.support.v7.app.ActionBarActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends ActionBarActivity implements OnClickListener{ String tag = "AndroidTest"; int request_code = 1; //当活动首次被创建时调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button)this.findViewById(R.id.button1); btn.setOnClickListener(this); } public void onClick(View v) { startActivityForResult(new Intent(this, ResultActivity.class), request_code); } public void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode == request_code){//判断请求码 if(resultCode == RESULT_OK){//判断结果码 Toast.makeText(this, data.getData().toString(), Toast.LENGTH_SHORT).show(); } } } }
二、创建另一个活动ResultActivity
视图
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/txt_username" android:layout_below="@+id/txt_username" android:layout_marginLeft="37dp" android:layout_marginTop="52dp" android:text="Button" /> <EditText android:id="@+id/txt_username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="26dp" android:ems="10" android:inputType="textPersonName" /> </RelativeLayout>
活动
package com.example.androidtest; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class ResultActivity extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); Button btn = (Button)this.findViewById(R.id.button1); btn.setOnClickListener(this); } @Override public void onClick(View v) { EditText txt_username = (EditText)findViewById(R.id.txt_username); Intent data = new Intent(); data.setData(Uri.parse(txt_username.getText().toString())); setResult(RESULT_OK, data); finish();//关闭该活动,回到调用它的活动。 } }
注意: 如果请求码设为-1,则使用startActivityForResult()方法来调用活动与使用startActivity()方法来调用是等同的。也就是说,没有结果返回。