2016-05-05 6 views
0

Ich habe drei Fragmente in meiner Tätigkeit. Wie kann ich den Inhalt des zweiten Fragments (Kapitel) basierend auf dem ausgewählten Buch ändern?Ändern zweites Fragment nach Wahl im ersten Fragment

my app

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view; 
     view= inflater.inflate(R.layout.tabs,container,false); 
     bible_group = (RadioGroup)view.findViewById(R.id.bible_group); 

     bible_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){ 

      @Override 
      public void onCheckedChanged(RadioGroup group, int checkedId) { 

       switch (checkedId){ 

        case R.id.genesis: 
        case R.id.exodus: 
        case R.id.leviticus: 
        case R.id.numbers: 
        case R.id.deuteronomy: 
        case R.id.joshua: 
        case R.id.judges: 
        case R.id.ruth: 
        case R.id.samuel1: 
        case R.id.samuel2: 
        case R.id.kings1: 
        case R.id.kings2: 
        case R.id.chronicles1: 
        case R.id.chronicles2: 
        case R.id.ezra: 
        case R.id.nehemiah: 
        case R.id.esther: 
        case R.id.job: 
        case R.id.psalm: 
        case R.id.proverbs: 
        case R.id.ecclesiastes: 
        case R.id.songofsolomon: 
        case R.id.isaiah: 
        case R.id.jeremiah: 
        case R.id.lament: 
        case R.id.ezek: 
        case R.id.dan: 
        case R.id.hosea: 
        case R.id.joel: 
        case R.id.amos: 
        case R.id.obadiah: 
        case R.id.jonah: 
        case R.id.micah: 
        case R.id.nahum: 
        case R.id.habakkuk: 
        case R.id.zephaniah: 
        case R.id.haggai: 
        case R.id.zechariah: 
        case R.id.malachi: 
        case R.id.matthew: 
        case R.id.mark: 
        case R.id.luke: 
        case R.id.john: 
        case R.id.acts: 
        case R.id.romans: 
        case R.id.corinths1: 
        case R.id.corinths2: 
        case R.id.galatians: 
        case R.id.ephesians: 
        case R.id.phili: 
+0

Sie bei einem ähnlichen Beispiel in der Dokumentation beginnen könnten. http://developer.android.com/training/basics/fragments/communicating.html –

Antwort

1

Von Aktivität Sie Daten Fragment mit Absicht so senden können:

Bundle bundle=new Bundle(); 
bundle.putString("nameOfbook", "Genesis"); 
    //set Fragmentclass Arguments 
Fragmentclass fragobj=new Fragmentclass(); 
fragobj.setArguments(bundle); 

EDIT: Für Show

FragmentManager fm = getFragmentManager(); 
fm.beginTransaction() 
     .setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out) 
     .show(fragobj) 
     .commit(); 

das Fragment und in Fragmente erhalten in Fragment onCreateView-Methode:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) { 
     String strtext=getArguments().getString("nameOfBook"); 

return inflater.inflate(R.layout.fragment, container, false); 
} 

Sie können weitere Parameter im Bündel setzen (Autor, Beschreibung, etc ...)

+0

Könnten Sie bitte auf diese Antwort erweitern? Wie wird die Aktivität das von Ihnen gemachte 'Fragmentclass' Objekt zeigen? –

+0

Ich bearbeite meinen Beitrag jetzt können Sie das Fragment zeigen – Vodet

+0

Sicher, aber es erscheint aus dem Bild, dass ein ViewPager verwendet wird, so bin ich nicht sicher, dass dies der benötigte Code ist –

Verwandte Themen