2017-11-15 41 views
-1

Hello Stackoverflowコミュニティでは、多くの例を見てきましたが、私のコードには適用できません。だから私は、次のコードを持っている:MainActivityとフラグメント間の通信

public class Profile extends AppCompatActivity { 

private ViewPager mPager_profile; 
private static final int NUM_PAGES = 3; 
private PagerAdapter mPagerAdapter_profile; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.empty_profile_activity); 

    // set up the slider 
    mPager_profile = (ViewPager) findViewById(R.id.pager_profile); 
    mPagerAdapter_profile = new ScreenSlidePagerAdapter_profile(getSupportFragmentManager()); 
    mPager_profile.setAdapter(mPagerAdapter_profile); 
    // bottom dots 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout_profile); 
    tabLayout.setupWithViewPager(mPager_profile, true); 

    Intent intent = getIntent(); 
    String[] data = intent.getStringArrayExtra("data"); 

} 

// some code here 
... 

private class ScreenSlidePagerAdapter_profile extends 
FragmentStatePagerAdapter { 
    public ScreenSlidePagerAdapter_profile(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch (position){ 
      case 0: 
       return new event_slide(); 
      case 1: 
       return new profile_slide(); 
      case 2: 
       return new option_slide(); 
      default: 
       return null; 

     } 
    } 

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

}

をし、次のコードは、私のevent_slide.java断片である:

public class event_slide extends android.support.v4.app.Fragment{ 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance){ 
     ViewGroup eventView = (ViewGroup)inflater.inflate(R.layout.login_event, container, false); 

     return eventView; 
    } 
} 

私の質問は:どのように私はと呼ばれる文字列の配列を渡すことができます」 data "を私のFragment event_slideに追加し、例えばFindViewById(R.id.textView9).setText(data [0])のように、TextViewのうちの1つにexample(String - >)data [0]を適用する。私はアンドロイドの開発に新しいので、それを簡単にしてください。事前に

感謝:)

+0

可能な重複:[この回答を確認](https://stackoverflow.com/a/12739968/4329778) –

答えて

0

最も簡単な方法は、(ではない最高の)次のようになります。

public class EventSlide extends android.support.v4.app.Fragment{ 

    public String arg1; 

    public EventSlide(String arg1){ 
     this.arg1 = arg1; 
    } 

    // Override OnCreate method, initialize your textView and set your text there 
} 

私はあなたがnewInstanceパターンに見てお勧め。

関連する問題