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