Bundle getInt只返回默认值

时间:2014-05-31 02:35:35

标签: java android

我有一个问题,就是这段代码只返回默认值为-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}]

1 个答案:

答案 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");