問題:
viewPager中的一個(gè)pager使用startActivityForResult
跳轉(zhuǎn)到一個(gè)Activity 在Activity中點(diǎn)擊按鈕調(diào)用setResult(Activity.RESULT_OK, intent)
理想中的效果應(yīng)該是返回到pager中調(diào)用onActivityResult
但是在pager的onActivityResult沒有被調(diào)用
原因:
從網(wǎng)上看了很多解決方法都沒有用,我在viewPager所在的Acticity里添加onActivityResult方法,斷點(diǎn)顯示是被調(diào)用了,那就是說(shuō)我的setResult被Activity劫持了,沒有傳到pager里
解決方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123987 && resultCode == Activity.RESULT_OK) {
} else {
for (ContentBasePager c : pagerList){
c.onActivityResult(requestCode, resultCode, data);
}
}
}
在Activity的onActivityResult方法中遍歷viewPager的子pager,然后調(diào)用子pager的onActivityResult.問題解決