clcurie_11 2013-04-24 03:26 采纳率: 6.7%
浏览 1311

在 pager adapter 里传递数据到 fragments

我用视图中的pager adapter 来加载fragments。在 getItem() 方法中我想使用index传递函数,动态的插入值。所以的值都在 productData 中。但是它总是从 productData.get(0).get("name") 获取值然后放到fragment中。为什么是这样呢?
我检查过,索引值正确的传递到fragments 中, productData 里的数据也是正确的。问题出在哪里呢?

public class ProductViewPagerAdapter extends FragmentPagerAdapter {
    public ProductViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public Fragment getItem(int i) {            
        Fragment fragment = new ProductViewFragment();
        Bundle args = new Bundle();
        args.putInt("number", i + 1);
        args.putString("name", productData.get(i).get("name"));
        fragment.setArguments(args);
        return fragment;
    }
    @Override
    public int getCount() {
        return 10;
    }
    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0: return "test1";
            case 1: return "2";
            case 2: return "3";
            case 3: return "4";
        }
        return null;
    }     
 }
  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-21 17:05
    关注

    ChatGPT尝试为您解答,仅供参考
    这个问题可能是由于 productData 中的数据没有正确的被设置到 ProductViewPagerAdapter 中造成的。在创建 ProductViewPagerAdapter 对象的时候,请确保 productData 已经正确的设置好了。


    另外,如果你想动态的从 productData 中获取数据并传递到 fragment 中,你可以在 getItem() 方法中使用你想要的索引来获取数据并传递到 fragment 中。例如:

    @Override
    public Fragment getItem(int i) {            
        Fragment fragment = new ProductViewFragment();
        Bundle args = new Bundle();
        args.putInt("number", i + 1);
        args.putString("name", productData.get(i).get("name"));
        fragment.setArguments(args);
        return fragment;
    }
    

    在上面的代码中,我们使用了索引 i 来从 productData 中获取数据,然后将数据设置到 fragment 的参数中。这样就可以动态的从 productData 中获取数据并传递到 fragment 中了。

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?