返回数据给上一个活动
Posted hello word
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回数据给上一个活动相关的知识,希望对你有一定的参考价值。
1. 当点击第二个活动的时候,返回到第一个活动。传数据。
// 第一个activity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); // 创建视图 setContentView(R.layout.my_layout); // 找到对应的button来监听事件 findViewById(R.id.butStartAnotherAty).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, AnotherAty.class); // 这个 1 是你传过去的一个标示 startActivityForResult(i, 1); //使用可以返回数据的方式来启动新的activity } }); System.out.println("onCreate"); } // 接受从第二个activity返回来的数据方法,会在 onStart 前执行 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case 1 : // 这个是 startActivityForResult 方法启动活动的时候传过去的标示 if (resultCode == RESULT_OK) { String returnData = data.getStringExtra("data_return"); System.out.print(returnData); } break; default: break; } } //第二个activity private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_another_aty); findViewById(R.id.returnMainActivity).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.putExtra("data_return", "hello MainActivaty"); setResult(RESULT_OK, intent); // 设置返回 intent finish(); // 销毁 } }); }
2. 点击返回按钮的时候,第二个activity传送数据到第一个activity
// 第一个activity和上面的一样 // 第二个activity只需要监听这个back键的方法就好了 // 点击 Back键回到第一个Activity @Override public void onBackPressed() { Intent intent = new Intent(); intent.putExtra("data_return", "hello MainActivaty for onBackPressed"); setResult(RESULT_OK, intent); // 设置返回 intent finish(); }
以上是关于返回数据给上一个活动的主要内容,如果未能解决你的问题,请参考以下文章
Android7.0 Intent向下一个活动传递数据返回数据给上一个活动