Android setShareIntent dentro del fragmento

1. Antecedentes

Tengo una pantalla que tiene una

<code>ShareActionProvider
</code>

y un

<code>ViewPager
</code>

que utiliza fragmentos.

Lo que esperaba hacer era obtener algo de información dentro del fragmento actualmente visible para crear una intención, luego podría establecer la intención en el ShareActionProvider.

Este es el código que utilizo para establecer la intención de ShareActionProvider:

<code>    MenuItem actionItem = men.getMenu().findItem(R.id.menu_item_share_action_provider_action_bar);
    ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
    actionProvider.setShareIntent(createShareIntent(mProduct.mProduct));
</code>

He intentado usar esto en varios lugares, como en estas funciones de la clase Fragmento:

<code>onCreateView
onStart
</code>

También he intentado usarlo en estas funciones dentro de la clase FragmentPagerAdapter:

<code>getItem
</code>

2. El problema

Aunque la intención se está estableciendo realmente dentro del ShareActionProvider, la información que se obtiene es para el siguiente fragmento (el que no se muestra actualmente). Por ejemplo:

Si tengo 4 fragmentos: frag1, frag2, frag3, frag4 y actualmente estoy viendo "frag1", el ShareActionProvider intentará compartir "frag2". Esto es cierto hasta que llega a "frag4", donde compartirá el valor correcto.

Supongo que el paginador de fragmentos crea la vista actual y la vista siguiente (oculta), que a su vez está configurando el ShareActionProvider. Si este es el caso, ¿dónde está el lugar correcto para "setShareIntent"?

Respuestas a la pregunta(3)

Su respuesta a la pregunta