Android中onActivityResult/startActivityForResult用法

一直对于onActivityResult这个用法很模糊,界面跳转及传值,最近由于工作需要,需要在3-5个界面之间传值返回,所以认真看了一下,现在来简单做个总结吧:

Action0-------->Action1-------->Action2-------->Action3-------->Action4

需求:在第5个界面中点 击”返回“按钮,返到第一个界面Action0

界面4:    

bt_click.setOnClickListener(View.OnClickListener()  
{    (View v) {
    setResult()finish()}
})


界面3:

    startActivityForResult(intent)}(requestCoderesultCodeIntent data)  
{  (requestCode == && resultCode == ) {        .setResult()finish()}


界面2:

    startActivityForResult(intent)}(requestCoderesultCodeIntent data) 
 {    (requestCode == && resultCode == ) {        .setResult()finish()}


界面1:

    startActivityForResult(intent)}(requestCoderesultCodeIntent data)  
{    (requestCode == && resultCode == ) {        .setResult()finish()}


界面0:

详解:

从第5个界面跳到第4个界面时,根据第5个界面返回的resultCode和第4个界面的requestCode来确定要执行的操作,这里是关闭界面,第一次是关闭第4个界面,依次类推,逐渐关闭中间的界面,返回到第一个界面。

传值:

startActivityForResult(Intent(Activity1.).putExtra(FROM_EXTRA,Activity1.A),1);

取值:

int from= getIntent().getIntExtra(FROM_EXTRA,0);


猜你喜欢

转载自my.oschina.net/u/1792000/blog/649787