2016-05-29 5 views
0

Ich habe Daten in Aktivität, in denen einige Daten, die ich in Aktivität selbst zeigen möchte und einige Daten, die ich in drei swipable Fragmente zeigen möchte. Wie übertrage ich Daten von Aktivität zu diesen Fragmenten. Ich werde ein Bild von dem machen, was ich machen möchte. in this image, i have some data to show upper part in activity and other i want to show in fragments so that's why i want to pass that data in to swipable fragments.wie Daten von Aktivität zu swipable Fragmenten übergeben werden?

Bitte geben Sie eine Lösung. Danke.

+0

senden Sie Daten mit 'Bündel' –

+0

@Ravi Geben Sie den Code, was Sie bisher versucht haben – Gandhi

Antwort

1

Ich denke, Ihre wichtigste Frage ist, wie Sie Daten von Aktivität zu Fragment übergeben?

Sie können Daten von Aktivität zu Fragment übergeben, indem Sie ein Bundle erstellen und einige Daten dorthin eingeben und dann an die setArguments-Methode übergeben.

YourFragment yourFragment = new YourFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putInt(KEY_RECIPE_INDEX, index);//you can use bundle.putString or others to pass different types of data 
    yourFragment.setArguments(bundle); 

Jetzt können Sie die Daten in Ihrem Fragment unter Verwendung getArguments retrive

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    int index = getArguments().getInt(ViewPagerFragment.KEY_RECIPE_INDEX); 
    //........ 

Sie auch in Ihrer Frage stellen, die Sie einige Daten in Ihrer Tätigkeit haben und einige der Daten wollen Sie auf zeigen, Aktivität und einige von ihnen möchten Sie in swipable Fragmente zeigen. Jetzt zeige ich Ihnen, wie man das tut, indem Sie ein Beispiel verwenden.

Angenommen, Sie zwei swipable Tab haben und jede Zunge hat ein Fragment

final IngredientsFragment ingredientsFragment = new IngredientsFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putInt(KEY_RECIPE_INDEX, index); 
    ingredientsFragment.setArguments(bundle); 

    final DirectionsFragment directionsFragment = new DirectionsFragment(); 
    bundle = new Bundle(); 
    bundle.putInt(KEY_RECIPE_INDEX, index); 
    directionsFragment.setArguments(bundle); 


    ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager); 
    viewPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) { 
     @Override 
     public android.support.v4.app.Fragment getItem(int position) { 
      return position == 0 ? ingredientsFragment : directionsFragment; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return position == 0 ? "Ingredients" : "Directions"; 
     } 

     @Override 
     public int getCount() { 
      return 2; 
     } 
    }); 

    TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabLayout); 
    tabLayout.setupWithViewPager(viewPager); 

Ich denke, es ist kein Problem der Daten, die Sie in Ihrer Aktivität zeigen möchten.

Qick Rekapitulation: Sie passieren die Daten an Fragment durch ein Bündel zu schaffen und einige Daten und Verwendung yourfragment.setArguments setzen (yourBundle).

Jetzt denke ich, dass Sie Daten zu swipable Ansichten übergeben können.

Hoffe, das hilft!