在fragment中启动activity
Vote_main_fragmnet.this.startActivityForResult(intent, Ts_Vote_Activity.DATA);、
然后
@Override
public void onActivityResult(int requestcode, int resuftcode, Intent data) {
super.onActivityResult(requestcode, resuftcode, data);
if(requestcode ==100 && resuftcode == 100){
if(data.getBundleExtra(“bundle”)!=null){
tit = data.getBundleExtra(“bundle”).getString(“data”);
tvtitle.setText(tit);
}
//tit = data.getStringExtra(“data”);
}
}
在activty 中重写onactivityresult
@Override
protected void onActivityResult(int arg0, int arg1, Intent arg2) {
super.onActivityResult(arg0, arg1, arg2);
Fragment vmfragment = getSupportFragmentManager().findFragmentByTag(curfagment);
vmfragment.onActivityResult(arg0, arg1, arg2);
}
代码就是这样,但是fragment的onactivityresult还是不被调用是什么问题啊?
Vote_main_fragmnet.this.startActivityForResult(intent, Ts_Vote_Activity.DATA);、
然后
@Override
public void onActivityResult(int requestcode, int resuftcode, Intent data) {
super.onActivityResult(requestcode, resuftcode, data);
if(requestcode ==100 && resuftcode == 100){
if(data.getBundleExtra(“bundle”)!=null){
tit = data.getBundleExtra(“bundle”).getString(“data”);
tvtitle.setText(tit);
}
//tit = data.getStringExtra(“data”);
}
}
在activty 中重写onactivityresult
@Override
protected void onActivityResult(int arg0, int arg1, Intent arg2) {
super.onActivityResult(arg0, arg1, arg2);
Fragment vmfragment = getSupportFragmentManager().findFragmentByTag(curfagment);
vmfragment.onActivityResult(arg0, arg1, arg2);
}
代码就是这样,但是fragment的onactivityresult还是不被调用是什么问题啊?
解决方案
10
当然不能咯 没见过这样的
40
http://blog.csdn.net/shuaihj/article/details/46663109 参考这个应该可以解决你的问题
10
启动的时候有没有用startActivityForResult
10
startActivityForResult直接用这个别加前面的看看
10
本人昨天也遇到跟你一样的问题,fragment就有本人的startActivityForRusult, 你用的this.调的是activity的
10
帮顶 一下 。
10
onActivityResult()fragment中本身就有,super.onActivityResult(requestCode, resultCode, data);假如将activity中的这句话注销掉,fragment中的onActivityResult()就不会调用了,不然他们两个都会自动调用啊,本人测试的结果。