我正在使用本教程AndroidDev,我已将值从 FragmentA 传递到我的 FragmentActivity 但我在从 Activity 传递到 Fragment 时遇到问题。我的问题是我决定在 ViewPager 中托管我的片段。在这一点上,我必须从 ViewPager 中获取 FragmentA 或 FragmentB 的实例。我在 Activity 的 onCreate() 方法中调用了 onArticleSelected() 方法。我试过这个,但它返回 Fragment,而不是 FragmentA 或 B。
public static class MainActivity extends Activity
implements HeadlinesFragment.OnHeadlineSelectedListener{
...
public void onArticleSelected(int position) {
ArticleFragment articleFrag = (ArticleFragment)
getSupportFragmentManager().findFragmentById(R.id.article_fragment);
if (articleFrag != null) {
articleFrag.updateArticleView(position);
} else {
ArticleFragment newFragment = new ArticleFragment();
Bundle args = new Bundle();
args.putInt(ArticleFragment.ARG_POSITION, position);
newFragment.setArguments(args);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();
}
}
}