2016-05-05 2 views
0

У меня есть три фрагмента в моей деятельности. Как я могу изменить содержание второго фрагмента (главы) на основе той книги, которую я выбрал?Изменение второго фрагмента на основе выбора в первом фрагменте

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

Вы могли бы начать на аналогичном примере в документации. http://developer.android.com/training/basics/fragments/communicating.html –

ответ

1

От активности вы можете отправить данные в фрагмент с намерением, как:

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

EDIT: Для показа фрагмента

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

и получить в фрагменте в Метод фрагмента onCreateView:

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

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

Вы можете поместить другие параметры в пучке (автор, описание и т.д. ...)

+0

Не могли бы вы расширить этот ответ, пожалуйста? Как будет отображаться объект «Fragmentclass», который вы создали? –

+0

Я редактирую свой пост, теперь вы можете показать фрагмент – Vodet

+0

Несомненно, однако из изображения видно, что используется ViewPager, поэтому я не уверен, что это необходимый код. –

Смежные вопросы