在android应用中使用了Fragment,当在Fragment当中使用startActivityForResult的时候,在Fragment当中使用的onActivityResult并没有被执行,这是由于在setresult()方法后,Fragment的onActivityResult被Activity的onActivityResult给屏蔽掉了,所以解决的思路就是:在Activity当中首先新建一个此Fragment对象,重写onActivityResult方法在此方法中调用此Fragment的onActivityResult.
Activity当中的onActivityResult方法:
OrderFragment or=new OrderFragment();
@Override
protected void onActivityResult(int arg0, int arg1, Intent arg2) {
// TODO Auto-generated method stub
super.onActivityResult(arg0, arg1, arg2);
or.onActivityResult(arg0, arg1, arg2);
}
Fragment当中继承OnActivityResult方法,在此方法中实现想要的结果:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(0==resultCode){
isfirst=true;
}
super.onActivityResult(requestCode, resultCode, data);
}