获取Activity 的返回参数

UI准备

 ##在Main中添加一个TextView,在TheAty中添加一个editText和一个Button
 ![Aty完成后的摸样](https://img-blog.csdn.net/20151010220138917)
 ![Main是这个样子的](https://img-blog.csdn.net/20151010220221782)

TheAty.java中需要做的工作

public class TheAty extends AppCompatActivity {

    private TextView tv;
    private EditText edittext;// 添加
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_the_aty);
        tv = (TextView) findViewById(R.id.tv);
        edittext = (EditText) findViewById(R.id.editText);// NEW 


        Intent i =getIntent();

//        Bundle data = i.getExtras();  //第1种方法
       /* Bundle data =i.getBundleExtra("name");   //第3种


// 1       tv.setText(i.getStringExtra("data"));//第2种
        tv.setText(String.format("name=%s,age=%d",data.getString("name"),data.getInt("age")));*///第3中
//        User user = (User) i.getSerializableExtra("user");
        User user = i.getParcelableExtra("user");
        tv.setText(String.format("user info(name+%s,age=%d)",user.getName(),user.getAge()));
//为Button添加clicklistener
        findViewById(R.id.sendBack).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent();
                i.putExtra("data",edittext.getText().toString());//向原activity发送数据
                setResult(1, i);//第一个参数是状态值,第二个是一个Intent
                finish();//结束这个Actovity
            }
        });
    }

Main需要做的工作

public class MainActivity extends AppCompatActivity {

    private TextView textview;//新增的为了显示返回的result
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textview = (TextView) findViewById(R.id.textView);//NEW
        findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this,TheAty.class);
//                i.putExtra("data","Hello weiyongqiang ");  //2
             /*   Bundle b = new Bundle();   //3
                b.putString("name","weiyongqiang ");
                b.putInt("age",2);
//                i.putExtras(b);//1
                i.putExtra("name",b);*/
                i.putExtra("user",new User("weiyongiag",2));
//                startActivity(i);
                startActivityForResult(i,0);//这里为了接收返回的数据要更改
            }
        });
    }

//新增的函数响应返回的数据
    @Override
    //函数参数列表中的requestCode就是需求码,这个request 是用来干什么的,rsultcode是结果码,返回执行的状态,最后的Intent data接收返回的数据
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        textview.setText("另一个Activity返回的数据"+data.getStringExtra("data"));
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值