我有一个问题,就是这段代码只返回默认值为-1。我试图调试,它有价值,所以我不知道为什么它总是返回-1。
private static final String KEY_CATEGORY_ID = "category";
Bundle bundle = getArguments();
mCategoryId = bundle.getInt(KEY_CATEGORY_ID, -1);
这是我的调试值:
bundle Bundle (id=830037735464)
Bundle[{category=2}]
答案 0 :(得分:2)
以这种方式在您的活动setArguments中
mFragment = new MyFragment();
Bundle extras = this.getIntent().getExtras();
extras.putInt("category", 10);
mFragment.setArguments(extras);
mFragmentTransaction = getSupportFragmentManager().beginTransaction();
mFragmentTransaction.add(R.id.profile_fragment, mFragment);
mFragmentTransaction.commit();
在片段中以这种方式获取
Bundle bundle = getArguments();
catgory = bundle.getInt("category");