0

我是android开发的新手。我现在正在寻找一个解决方案,说明如何将值从主要活动传递到不同的片段。我的应用程序有一个主要活动和 5 个片段。我想在我的 main 中进行 xml 解析,然后将处理后的数据传递给不同的片段,以便我可以同时绘制不同的页面。我的主要设置了一个新的片段适配器

mAdapter = new FragmentAdapter(getSupportFragmentManager());

然后在我的 FragmentAdapter(扩展 FragmentPagerAdapter 并实现 IconPagerAdapter)中,我覆盖了 getItem 方法,以便我可以创建 5 个片段来处理 5 个不同的页面。

@Override
public Fragment getItem(int position) {
    Fragment fragment = new Fragment1();
    switch(position){
    case 0:
        fragment = new Fragment1();
        break;
    case 1:
        fragment = new Fragment2();
        break;
    case 2:
        fragment = new Fragment3();
        break;
    case 3:
        fragment = new Fragment4();
        break;
    case 4:
        fragment = new Fragment5();
        break;  

    }
    return fragment;
}

我的问题是如何将一些值从我的主要传递到新生成的片段。例如,我想将一个值“A”从我的主要传递到片段 1。我该如何完成这项任务?提前谢谢你的帮助!~

4

2 回答 2

0

你可以看看这篇文章:http: //developer.android.com/training/basics/fragments/communicating.html

于 2013-08-16T09:42:46.737 回答
0

托尼,在链接http://developer.android.com/training/basics/fragments/communicating.html

ArticleFragment newFragment = new ArticleFragment();
Bundle args = new Bundle();
args.putInt(ArticleFragment.ARG_POSITION, position);
newFragment.setArguments(args);

上面的代码片段允许 MainActivity 将一个 int 数据传递给 ArticleFragment 类。

然后 ArticleFragment 类可以使用下面的代码片段来读取 int 数据,比如它的 onCreate 方法。

int position = getArguments().getInt(ARG_POSITION); 
于 2015-12-19T21:27:03.100 回答