startActivityForResult(Intent intent,int requestCode,Bundle options)如何获取额外的bundle选项?

塔诺斯

根据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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档