解决Fragment在Activity中OnActivityResult()回调冲突问题

一,自定义接口作为回调方法

public interface OnFragmentResultListener {


public void OnFragmentResult(int requestCode,int resultCode,Intent data);
}


二,在Activity里处理回调


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {


//得到fragment
Fragment fragment=getSupportFragmentManager().findFragmentById(R.id.fragment_container);


/**
* 判断是不是Activity里面Fragment的回调,如果是传递给Fragment
*/
if(fragment instanceof OnFragmentResultListener){

OnFragmentResultListener listener=(OnFragmentResultListener) fragment;

listener.OnFragmentResult(requestCode, resultCode, data);

}
super.onActivityResult(requestCode, resultCode, data);

}


三,Fragment实现OnFragmentResultListener 接口重写OnFragmentResult方法,作为回调。

你可能感兴趣的:(android开发,android,Fragment,回调冲突)