码迷,mamicode.com
首页 > 移动开发 > 详细

android--多个Ativity值传递FLAG_ACTIVITY_FORWARD_RESULT

时间:2015-02-06 13:14:00      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

适用情况:多个Activity的值传递。ActivityA到达ActivityB再到达ActivityC,但ActivityB为过渡页可以finish了,此时ActivityC将值透传至ActivityA。

其实只要利用Intent的FLAG_ACTIVITY_FORWARD_RESULT即可。

第一个页面:A跳到B

<span style="font-size:18px;">public class ActivityA extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent(this, ActivityB.class);
		startActivityForResult(intent, 100);
    }
    
    @Override
    protected void onActivityResult(int arg0, int arg1, Intent arg2) {
    	super.onActivityResult(arg0, arg1, arg2);
    	if(arg2 != null)
    	{
    		Log.e("yanru", "requestCode="+arg0+",resultCode="+arg1+",data="+arg2.getIntExtra("a", 8));
    	}
    }
}</span>
过渡页:中间有再多过渡页也是一样。B跳到C

<span style="font-size:18px;">public class ActivityB extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		Intent intent = new Intent(this, ActivityC.class);
		intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
		startActivity(intent);
		finish();
	}

}</span>
C传值然后在A的OnActivityResult中获取值

<span style="font-size:18px;">public class ActivityC extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		Intent intent = getIntent();
		intent.putExtra("a", 8);
		setResult(Activity.RESULT_OK, intent);
		finish();
	}

}</span>




android--多个Ativity值传递FLAG_ACTIVITY_FORWARD_RESULT

标签:

原文地址:http://blog.csdn.net/ymlxku/article/details/43562851

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!