在bundle上传递整数和可序列化的问题

时间:2012-05-21 21:38:10

标签: android android-intent

我正在尝试传递一个serializable和一个Integer或String但是在我的子活动中我只能获得可序列化的

家长活动

Intent intent = new Intent(Class1.this, Class2.class);
Bundle bundle = new Bundle();
bundle.putInt("key", 23);
bundle.putSerializable(serializable, object);
intent.putExtras(bundle);
startActivityForResult(intent, 1);

儿童活动

Intent intent = getIntent();
int intKey;
Bundle bundle = intent.getExtras();
object = (Object) bundle.getSerializable(serializable);
intKey = bundle.getInt("key", 0);

我得到了可序列化的对象但我无法得到整数

1 个答案:

答案 0 :(得分:0)

尝试将int直接放在Intent上,而不是通过bundle。 含义:

intent.putExtra("key", 23);

得到它:

intent.getIntExtra("key", 23);

应该工作

但是,如果你有理由想要使用该套装,你可以尝试一下Sajmon在评论中所说的内容,bundle.getInt("key")我读到的地方不一样,我不确定这是为什么。