Android setShareIntent no fragmento

1. Fundo

Eu tenho uma tela que tem um

<code>ShareActionProvider
</code>

e um

<code>ViewPager
</code>

que usa fragmentos.

O que eu esperava fazer era obter algumas informações de dentro do fragmento visível no momento para criar uma intenção. Então, seria possível definir a intenção no ShareActionProvider.

Este é o código que eu uso para definir a intenção do 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>

Eu tentei usar isso em vários lugares, como dentro dessas funções da classe Fragment:

<code>onCreateView
onStart
</code>

Eu também tentei usá-lo nessas funções dentro da classe FragmentPagerAdapter:

<code>getItem
</code>

2. O Problema

Embora a intenção esteja realmente configurada dentro do ShareActionProvider, as informações obtidas são para o próximo fragmento (aquele que não está sendo mostrado atualmente). Por exemplo:

Se eu tiver 4 fragmentos: frag1, frag2, frag3, frag4 e atualmente estou vendo "frag1", o ShareActionProvider tentará compartilhar "frag2". Isso é verdade até atingir "frag4", onde compartilhará o valor correto.

Meu palpite é que o paginador de fragmentos cria a visão atual e a próxima visão (oculta), que por sua vez está configurando o ShareActionProvider. Se este for o caso, então onde é o local correto para "setShareIntent"?

questionAnswers(3)

yourAnswerToTheQuestion