记startActivityForResult和onActivityResult的用法——Android页面跳转回调传值

一.简述

之前实习的时候开发的是功能型软件 有很多填写页面的需求
所以用的还是挺多的 但是太久不用了 又用的不是很熟悉了 今天使用时有一点困惑结果百度半天也没有很好地博客 所以弄清楚后就自己记录一篇 以防下次又要找半天
首先在android中从一个activity跳转到另一个activity有很多种方法,但是如果要是想实现去另一个页面只是为了一系列操作 但是操作后的结果还需要带回当前页面处理 那么startActivityForResult就是首选了。

二.代码演示

activity1 :

			//跳转代码
	        Intent intent= new Intent();
            intent.setClass(activity1.this, activity2.class);
            startActivityForResult(intent, requestCode1);

			//接收代码1
			@Override
	   	    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	        super.onActivityResult(requestCode, resultCode, data);
	        if(resultCode == RESULT_OK){
	            switch (requestCode) {
	                case CODE_ALBUM_ADD_PIC_FROM_CLOUD:
	                    String selectResult = data.getStringExtra(EXTRA_KEY_SELECT_RESULT);
	                    selectResult.length();
	                    break;
	                default:
	                    break;
	            }
	        }
    }

activity2:  
			//回传代码2
			Intent intent = new Intent();
            intent.putExtra(key, "key");
            setResult(resultCode1, intent);

其实代码很简单 单纯就是总是忘了 太久不用 主要是区分requestCode和resultCode而网上百度的都说说半天感觉还是不对的 很心累 其实我的理解简单来说就是:
1.requestCode就是你startActivityForResult传过去的标识码用来区分到底是哪个activity回传来的值
2.resultCode就是你setResult设置的用来区分回传结果的 例如你一个页面会有很多种回传可能 这样就可以筛选了

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读