2016-11-14 6 views
0

Ich habe Anwendung mit drei Bildschirmen (3 Fragmente und ViewPager), und jetzt möchte ich zum Beispiel String von Aktivität zu FragmentA senden, aber ich weiß nicht wie.Senden von Daten von Aktivität zu Fragment mit ViewPager

Dies ist meine Aktivitätsklasse mit Pager-Adapter

public class MainActivity extends FragmentActivity { 
ViewPager viewPager; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    viewPager= (ViewPager) findViewById(R.id.pager); 
    viewPager.setAdapter(new MyAdapter(getSupportFragmentManager())); 

} 

}

Klasse MyAdapter FragmentPagerAdapter {

public MyAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int arg0) { 

    Fragment fragment=null; 
    if(arg0==0){ 
     fragment=new FragmentA(); 


    } 
    if(arg0==1){ 
     fragment=new FragmentB(); 


    } 
    if(arg0==2){ 
     fragment=new FragmentC(); 


    } 
    return fragment; 
} 

@Override 
public int getCount() { 
    return 3; 
} 
+0

Sie könnten die Lösung in der Antwort hier verwenden: http://stackoverflow.com/questions/36503779/refresh-data-in-viewpager-fragment –

Antwort

0

erstreckt können Sie die EventBus Bibliothek verwenden oder etwas ähnliches selbst schreiben, aber die Die beste Option besteht darin, die richtigen und akzeptierten Methoden der Kommunikation zwischen den Komponenten zu erlernen.

Wenn Sie die Daten (String in Ihrem Fall) übergeben möchten, bevor der ViewPager initialisiert wurde, können Sie ihn über argumnents, here, übergeben. Dort finden Sie ein gutes Beispiel.

+0

Ich versuche diese Lösung, aber meine Anwendung wurde abgestürzt. – adamek339

Verwandte Themen