第一个界面:
package com.lyz.news.jkxy; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class AtyOne extends Activity { private Button mbtn; private TextView mtv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_aty_one); mbtn= (Button) findViewById(R.id.btn_one_spik); mtv= (TextView) findViewById(R.id.tv_one); mbtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(AtyOne.this,AtyCallBack.class); intent.putExtra("dataone","lyz"); //想接收被启动的activity的参数的话,第使用来startActivityForResult接收,用code 0来判断请求的意义是什么 startActivityForResult(intent,65465); } }); } /** * * @param requestCode 请求码 来判断请求的意义 * @param resultCode 结果码 * @param data 指定的是第二界面的Intent 所携带的data key值 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mtv.setText("另一个activity返回的数据:"+data.getStringExtra("data")); } }第二个界面
package com.lyz.news.jkxy; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class AtyCallBack extends Activity { private Button mbnTwo; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_aty_call_back); mbnTwo= (Button) findViewById(R.id.btn_two); editText= (EditText) findViewById(R.id.two_call_back); mbnTwo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //把intent作为数据的载体 Intent i=new Intent(); //这个data会传递给 第一个界面的onActivityResult继承的方法 i.putExtra("data",editText.getText().toString()); setResult(1231654, i); finish(); } }); } }
第一个界面跳过后,在第二界面可以在edtiew里写数据然后点击Btn后,返回第一界面,第一个界面TextView会写的数据