在我开始之前,我已经看过如下问题:
以及Android文档:
http://developer.android.com/training/basics/fragments/communicating.html
以及这篇文章:
http://manishkpr.webheavens.com/android-passing-data-between-fragments/
虽然上面提到的所有情况都与我的相似,但并不完全相同.我在这里遵循了一个很好的教程(我的部分代码基于这篇文章):
http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/
我有以下文件:
RegisterActivity.java
NonSwipeableViewPager.java
ScreenSliderAdapter.java
RegisterOneFragment.java
RegisterTwoFragment.java
以下布局:
activity_register.xml
fragment_register_one.xml
fragment_register_two.xml
我想要实现的是将Serializable对象从RegisterFragmentOne传递给RegisterFragmentTwo.
到目前为止,这就是我所做的(省略了一些代码):
RegisterActivity.java
public class RegisterActivity extends FragmentActivity
implements RegisterOneFragment.OnEmailRegisteredListener{
public static NonSwipeableViewPager viewPager;
private ScreenSliderAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
// Initilization
mAdapter = new ScreenSliderAdapter(getSupportFragmentManager());
viewPager = (NonSwipeableViewPager) findViewById(R.id.pager);
viewPager.setAdapter(mAdapter);
}
public void onEmailRegistered(int position, Registration regData){
Bundle args = new Bundle();
args.putSerializable("regData", regData);
viewPager.setCurrentItem(position, true);
}
}
Run Code Online (Sandbox Code Playgroud)
ScreenSliderAdapter.java
public class ScreenSliderAdapter extends FragmentPagerAdapter{
public …Run Code Online (Sandbox Code Playgroud)