使用ViewPager将数据从Activity发送到片段

时间:2016-11-14 19:31:04

标签: android android-fragments android-viewpager

我有三个屏幕(3个片段和viewPager)的应用程序,现在我想发送例如String从Activity到FragmentA,但我不知道如何。

这是我的具有寻呼机适配器的Activity类

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()));

}

}

类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;
}

1 个答案:

答案 0 :(得分:0)

您可以使用EventBus库或自己编写类似的东西,但最好的选择是学习组件之间正确和可接受的通信方法。

如果你想在ViewPager初始化之前传递数据(在你的情况下为String),你可以通过argumnents传递它,here你可以找到一个很好的例子。