I have 2 fragments (A and B).I have used a FragmentTabHost in main activity and used these fragments as two different tab. I implemented view pager on fragment A. When I update fragment B I tried to update fragment A also. Which means view pager must be updated. 
But after updating B when I switch the tab from B to A, I am unable to get the update in A. After relaunch the app I find the update. But I want the update instantly. I know fragment is tightly coupled with activity. So, I also tried using detach and attach fragment from main activity.
here is my code of fragment A :
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    mView = inflater.inflate(R.layout.current_details, container, false);
    init();
    return mView;
}
private void init() {
    session = new SessionManager(getActivity());
    if (session.getCurrentId() < 1) {
        count = 1;
    } else {
        count = AppController.getInstance().getProfile().size();
    }
    mFragmentAdapter = new FragmentAdapter(getChildFragmentManager());
    mViewPager = (ViewPager) mView.findViewById(R.id.pager);
    mViewPager.setAdapter(mFragmentAdapter);
    mViewPager.setCurrentItem(session.getCurrentId());
    Log.d("Status : ","called");
}
public static class FragmentAdapter extends FragmentStatePagerAdapter {
    public FragmentAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }
    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        SpecificCurrentDetails fragment = new SpecificCurrentDetails();
        Bundle bdl = new Bundle();
        int id;
        if (AppController.getInstance().getProfile() == null) {
            id = 0;
        } else {
            id = AppController.getInstance().getProfile().get(arg0).getId();
        }
        Log.d("Status ID: ", id + "");
        bdl.putInt("profile_id", id);
        fragment.setArguments(bdl);
        return fragment;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return count;
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object
            object) {
        // TODO Auto-generated method stub
        super.destroyItem(container, position, object);
    }
    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
}
from the code when I switch the tab. I get the log "Status : called" but not getting "Status id: " to be called. When I restart the app then get "Status id : x" called. 
I am not getting the point where is the problem though I found onCreateView() is called everytime I switch the tab. I have googled a lot but not yet get any satisfied answers.
 
     
     
     
    