2016-11-14 6 views
0

私は3つの画面(3つのフラグメントとviewPager)でアプリケーションを取得していますが、今はアクティビティからFragmentAにStringを送信したいのですが、どうすればよいか分かりません。ActivityからViewPagerでフラグメントにデータを送信

これは

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は{

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

答えの解決方法は、こちらを参照してください。http://stackoverflow.com/questions/36503779/refresh-data-in-viewpager-fragment –

答えて

0

あなたはEventBusライブラリを使用するか、自分で似た何かを書くことができFragmentPagerAdapterを拡張しますが、ページャアダプタと私のActivityクラスであります最良の選択肢は、コンポーネント間の正しい通信方法と受け入れられた通信方法を学ぶことです。

ViewPagerを初期化する前にデータ(文字列)を渡したい場合は、それを引数として渡すことができます。here良い例が見つかります。

+0

私はこのソリューションを試しましたが、私のアプリケーションはクラッシュしました。 – adamek339

関連する問題