Gegevens doorgeven tussen twee fragmenten

Ik heb twee fragmenten, aangegeven in afzonderlijke klassen: AFragment en BFragment. Mijn MainActivity ziet er ongeveer zo uit:

public class MainActivity extends SherlockFragmentActivity implements ActionBar.TabListener 
{       
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab firstTab = getSupportActionBar().newTab().setText("Fragment A");           
    ActionBar.Tab secondTab = getSupportActionBar().newTab().setText("Fragment B");

    SherlockFragment firstFragment = new AFragment();
    SherlockFragment secondFragment = new BFragment();

    firstTab.setTabListener(this);
    secondTab.setTabListener(this);

    getSupportActionBar().addTab(firstTab);
    getSupportActionBar().addTab(secondTab);
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
    switch (tab.getPosition())
    {
    case 0:
        ft.replace(R.id.fragment_container, new AFragment());
        break;
    case 1:
        ft.replace(R.id.fragment_container, new BFragment());
        break;
    }
    Toast.makeText(this, tab.getText(), Toast.LENGTH_LONG).show();      
    }
    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }
}

Mijn vraag is, hoe pas ik een variabele - zeg een geheel getal - tussen mijn twee fragmenten? Ik zou bijvoorbeeld op een knop in het eerste fragment drukken en een bepaald geheel getal zou in een TextView verschijnen in de tweede.

2
Dit moet je taggen met [android-actionbar] in plaats van [actiebalk] :)
toegevoegd de auteur Alex Lockwood, de bron

1 antwoord

Fragmenten moeten opnieuw worden gebruikt ... dat wil zeggen dat twee fragmenten niet gegevens direct tussen elkaar moeten doorgeven. In plaats daarvan moet u een terugbelmethode definiëren in de activiteit. Dit zorgt ervoor dat je fragmenten elders in je app (en in andere apps die je maakt) opnieuw kunt gebruiken als dat nodig is.

2
toegevoegd
Bedankt! Ik vond het voorbeeld dat ze hebben gegeven een beetje moeilijk te begrijpen, hoewel :( vooral omdat ik geen ListFragment gebruik. Zou je me een absoluut basisvoorbeeld kunnen geven, met bijvoorbeeld knoppen? Sorry dat ik zo'n noob ben: )
toegevoegd de auteur vinit_ivar, de bron