www.cftea.com

如何切换 Activity-带参数的切换

ITPOW2017/3/13 13:43:06

需求

  • 点击 MainActivity 中的按钮,切换到 Main2Activity。
  • 然后点击 Main2Activity 中的按钮,切换回 MainActivity。

这其中要带参数:

  • MainActivity 要传参数给 Main2Activity。
  • Main2Activity 也要传参数给 MainActivity。

MainActivity 

btn1Click() 确定要传送的参数,并标明本次 requestCode 为 1,因为可能会有多个地方调用 startActivityForResult(),都会触发 onActivityResult(),就依靠 requestCode 来辨别了。

onActivityResult() 是 Override 的,其中的 int resultCode, Intent data 都是 Main2Activity 返回过来的。

Main2Activity

要获得传过来的参数,用 getIntent()。每次调用 Activity 时,都会执行 onCreate()。

setResult() 设置回传的参数,finish() 结束本 Activity,跳转回刚才的 Activity。

startActivity() 与 startActivityForResult()

二者都可以传参数给 Main2Activity,但是 startActivity 不能获得回传参数。

有人说 startActivity 调用的 Activity 不能用 finish() 结束,这是错误的,二者都可以用 finish() 结束。

所用类、方法归纳

  • Intent
  • startActivity()、startActivityForResult()
  • onActivityResult()
  • getIntent()
  • setResult()
  • finish()
<<返回首页<<