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 中了。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!