onActivityResult not call in the Fragment

后端 未结 6 718
野性不改
野性不改 2020-12-03 18:19

The structure of the app is like this:

tabHost (in Activity) -> contains -> TabFragment(extend base container fragment)

1. Th

6条回答
  •  感情败类
    2020-12-03 18:56

    TabActivity->ActivityA->FragmentB, it's not work.

    use a bad bad bad way:

    ActivityA.java

    public void onSelectSomething(){
    
        ...
    
        startActivityForResult(intent, 22222);
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (mFragment != null) {
            mFragment.onActivityResult(requestCode, resultCode, data);
        }
    }
    

    FragmentB.java

    if(getActivity() instanceof ActivityA) {
        ((RepairerListActivity)getActivity()).onSelectSomething();
    } 
    
    
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 22222) {
            // do things
        }
    }   
    

提交回复
热议问题