本篇文章主要介绍了"Activity数据返回 startActivityForResult用法详解",主要涉及到startactivityforresult方面的内容,对于Android开发感兴趣的同学可以参考一下:
上一节我以“计算男女生标准体重”为例详细介绍了如何使用Intent、Bundle等实现不同Activity之间数据的传递问题,本节将仍以“计算男女生标准体重”为...
上一节我以“计算男女生标准体重”为例详细介绍了如何使用Intent、Bundle等实现不同Activity之间数据的传递问题,本节将仍以“计算男女生标准体重”为例详细介绍如何利用startActivityForResult()实现数据的返回,即从第二页面返回第一页面。
一、目标
如下图,用户在第一个页面填写完数据后点击“计算”按钮,程序跳转到第二个页面,并显示计算结果。在用户点击第二个页面的“返回计算结果”按钮后,程序跳转回第一个页面,并显示第二个页面的计算结果,注意第一个页面的变化。



二、思路
1、在第一个页面(MainActivity.java)中以方法startActivityForResult( )启动第二个页面(TwoActivity.java);
privatevoidjump2Activiy2() {
Bundle bundle = new Bundle();
bundle.putString("strSex", strSex);
bundle.putDouble("douHeight", douHeight);
Intent intent = new Intent();
intent.setClass(MainActivity.this, TwoActivity.class);
intent.putExtra("bundle", bundle);
startActivityForResult(intent, 0);
}
2、在第二个页面中对要返回的数据进行打包,并以方法setResult( )返回第一个页面;
privatevoidjump2Activiy1() {
Intent intent2 = new Intent();
intent2.setClass(TwoActivity.this, MainActivity.class);
Bundle bundle2 = new Bundle();
bundle2.putString("strResult", strResult);
intent2.putExtra("bundle2", bundle2);
setResult(0, intent2);
TwoActivity.this.finish();
}
3、在第一个页面中复写onActivityResult( )方法,用于获取和处理第二页面返回的数据,更新页面。