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"?