Android setShareIntent innerhalb eines Fragments

1. Hintergrund

Ich habe einen Bildschirm mit einem

<code>ShareActionProvider
</code>

und ein

<code>ViewPager
</code>

das verwendet Fragmente.

Ich hatte gehofft, einige Informationen aus dem aktuell sichtbaren Fragment zu erhalten, um eine Absicht zu erstellen. Dann konnte ich die Absicht auf dem ShareActionProvider festlegen.

Dies ist der Code, den ich verwende, um die Absicht des ShareActionProviders festzulegen:

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

Ich habe versucht, dies an mehreren Stellen zu verwenden, z. B. in den folgenden Funktionen der Fragment-Klasse:

<code>onCreateView
onStart
</code>

Ich habe auch versucht, es in diesen Funktionen innerhalb der FragmentPagerAdapter-Klasse zu verwenden:

<code>getItem
</code>

2. Das Problem

Obwohl die Absicht tatsächlich im ShareActionProvider festgelegt wird, beziehen sich die abgerufenen Informationen auf das nächste Fragment (das derzeit nicht angezeigt wird). Zum Beispiel:

Wenn ich 4 Fragmente habe: frag1, frag2, frag3, frag4 und ich gerade "frag1" ansehe, versucht der ShareActionProvider, "frag2" freizugeben. Dies gilt, bis "frag4" erreicht ist und der richtige Wert angegeben wird.

Ich vermute, dass der Fragment-Pager die aktuelle Ansicht und die nächste Ansicht (ausgeblendet) erstellt, die wiederum den ShareActionProvider festlegen. Wenn dies der Fall ist, wo ist dann der richtige Ort für "setShareIntent"?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage