activity的跳转带返回数据

来源:互联网 发布:芜湖 网络推广专员 编辑:程序博客网 时间:2024/05/23 20:50

第一个界面:

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会写的数据

0 0
原创粉丝点击