一开始我看到有
startActivityForResult(Intent intent, int requestCode)
从A活动跳转到B活动方法,里面有两个参数,第一个是可以定义一个活动,表示要跳转到下面哪一个活动?第二个是请求码,因为A活动可以跳转到B,C活动等等,这个是为了确定跳转到哪一个活动的,要求不能为负数。
然后有
protected void onActivityResult (int requestCode, int resultCode, Intent data)
这个是处理从上一个活动返回回来的数据,一般结构如下
switch (requestCode) {
case 15:
switch (resultCode) {
case 0:
//do something
break;
case 1:
//do something
break;
default:
break;
}
break;
case 25:
switch (resultCode) {
case 0:
//do something
break;
default:
break;
}
default:
break;
}
这两个一般写在同一个活动A中,至于活动B
所用的是
setResult(resultCode resultcode, Intent intent)
具体可以参见
三个方法
但是我的onActivityResult老是不执行,究其原因是因为我的活动A是写在tabhost中的,因为setResult()之后是去找主服务而不是子服务的,于是可以做一番这样的修改
解决不执行onActivityResult