android开发中遇到的问题
现就android开发实践中遇到的问题收集于此文章中,方便大家参考也便于以后自己查阅。此文章会及时更新。
activity A 以startActivityForResult()启动B后没有调用OnActivityResult().
为什么会这样呢,有时候真心感觉开发中很孤单,因为当你从来没有碰到过的一些问题出来后,你会很无可奈何。还好现在百度还有各种博客,提供了便利。废话说多了。
1.可能是你需要跳转过去的activity设置的launchMode为singTask,如果你设置的是singTask,你在跳转到B前就会调用onActivityResult()根据官方文档的说明,如果你想启动一个activity而期望其有数据返回的话,被启动的activity的启动模式为默认的或者为singleInstance。
2.如果不是启动模式的问题,那么问题很可能是你requestCode没有大于零。至于什么原因,还要去官方查阅,我估计零是其某个的默认操作。
3.在TabHost的子Activity中startActivityForResult调用其他Activity时候遭遇到onActivityResult方法不响应的问题.可以通过调用Activity的getCallingActivity()查看要接受数据的Activity。
API这么解释的:Return the name of the activity that invoked this activity. This is * who the data in {@link #setResult setResult()} will be sent to.举个列子,有两个ActivityA和B,A中执行startActivityForResult(1,new Intent(A,B.class));即由A调到B,再B执行setResult后执行getCallingActivity(),显示A。