根据Android文档public void startActivityForResult(Intent intent,int requestCode,Bundle options)。
我无法弄清楚如何检索我传递的额外捆绑选项。
我想在调用startActivityForResult方法时将带有数据的ArrayList作为附加包选项传递。
代码示例:
ArrayList<String> list = new ArrayList<>();
list.add("test1");
list.add("test2");
Bundle bundleOptions = new Bundle();
bundleOptions.putStringArrayList("key", list);
startActivityForResult(intent, 10, bundleOptions);
检索数据后:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
Bundle extras = data.getExtras();
额外捆绑包不包含我要通过的额外捆绑包。我丢失了什么,我无法检索传递给该方法的额外捆绑包数据?
我也尝试了intent.putExtra("key", bundleOptions);
,也尝试了,intent.putExtra("key", list);
但也没有成功,并startActivityForResult(intent, 10);
再次调用该方法但没有成功。
我确定我缺少某些人知道如何实现这一目标?
额外捆绑包不包含我要通过的额外捆绑包。
正确的。
我所缺少的
如果你想使用检索的值getExtras()
,使用putExtras()
个人或putExtra()
方法。
我无法检索传递给方法的多余的捆绑包数据?
startActivity()
/的第三个参数startActivityForResult()
是将选项传递给Android本身,而不是将数据传递给另一个活动。
我也尝试过... intent.putExtra(“ key”,list); 但也没有成功
一般来说,这可行。例如,此示例应用程序自Android 1.0起就可以使用。启动器活动用于putExtra()
添加额外的字符串;其他活动用于getStringExtra()
获取价值。
如果您在使用过程中仍然遇到问题putExtra()
,请发布一个单独的Stack Overflow问题,在其中提供用于设置和检索多余内容的代码,以及对症状的详细描述。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句