SetShareIntent Androida w ramach fragmentu

1. Tło

Mam ekran, który ma

<code>ShareActionProvider
</code>

i a

<code>ViewPager
</code>

który używa fragmentów.

To, co miałem nadzieję zrobić, to uzyskać pewne informacje z wewnątrz obecnie widocznego fragmentu, aby utworzyć intencję, a następnie będę mógł ustawić zamiar na ShareActionProvider.

To jest kod, którego używam do ustawienia zamiaru 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>

Próbowałem użyć tego w kilku miejscach, takich jak te funkcje klasy Fragment:

<code>onCreateView
onStart
</code>

Próbowałem również użyć go w tych funkcjach w klasie FragmentPagerAdapter:

<code>getItem
</code>

2. Problem

Chociaż intencja jest ustawiana w ramach ShareActionProvider, informacje, które są uzyskiwane, dotyczą następnego fragmentu (tego, który nie jest obecnie wyświetlany). Na przykład:

Jeśli mam 4 fragmenty: frag1, frag2, frag3, frag4 i aktualnie oglądam „frag1”, ShareActionProvider spróbuje udostępnić „frag2”. To prawda, dopóki nie osiągnie „frag4”, gdzie będzie udostępniać poprawną wartość.

Domyślam się, że pager fragmentów tworzy bieżący widok i następny widok (ukryty), który z kolei ustawia ShareActionProvider. Jeśli tak jest, to gdzie jest właściwe miejsce na „setShareIntent”?

questionAnswers(3)

yourAnswerToTheQuestion