如下面的代码中所示,我正在创建一个由另一个包构建的新包meetingPointFixBundle
,该包将由getAddNewLocationBundle
在我的代码中某处我想
(1)解压缩包meetingPointFixBundle
并检索我明确添加到其中的所有值
(2)获取包getAddNewLocationBundle
中包含的值。
实际上,我知道如何处理问题的第一部分,它将使用meetingPointFixBundle = getIntent().getExtras()
完成。但我不知道如何通过getAddNewLocationBundle
检索包meetingPointFixBundle
中包含的值?
有什么建议吗?
更新/进一步说明
starterActivityBundle
有三个键[LOC_NAME_KEY,IMG_TITLE_KEY,IMG_PATH_KEY]。
而且,在Current活动中,我正在创建自己的包getMeetingPointFixBundle
,它最初是使用starterActivityBundle
构建的。稍后在代码中,我将向当前活动包getMeetingPointFixBundle
添加额外的两个键 - [LOC_LAT_KEY,LOC_LNG_KEY]。因此,getMeetingPointFixBundle
的最终格式将如下getMeetingPointFixBundle[starterActivityBundle, LOC_LAT_KEY, LOC_LNG_KEY]
。
之后,我将开始一项新的活动" InfoActivity"填充intent
的{{1}}。从内部" InfoActivity"我想解压缩getMeetingPointFixBundle
并检索getMeetingPointFixBundle
StarterActivitybundle:
[starterActivityBundle (LOC_NAME_KEY, IMG_TITLE_KEY, IMG_PATH_KEY), getMeetingPointFixBundle (LOC_LAT_KEY, LOC_LNG_KEY) ]
getMeetingPointFixBundle:
private Bundle getTheStarterActivityBundle() {
// TODO Auto-generated method stub
this.addNewLocationBundle = new Bundle();
this.addNewLocationBundle = getIntent().getExtras();
return this.addNewLocationBundle;
}
答案 0 :(得分:0)
我无法理解你的问题,但我会考虑一下我认为你想要实现的目标。
据我所知,你正试图从特定的Bundle
获取额外内容。问题是,你将它们“合并”在一起。以下内容可能有所帮助:
protected Bundle getMeetingPointFixBundle() {
final Bundle newLocationBundle = getAddNewLocationBundle();
final Bundle meetingPointFixBundle = new Bundle();
meetingPointFixBundle.putBundle("locationBundle", newLocationBundle);
return meetingPointFixBundle;
}
然后,要获得(1),您可以使用您的方法,但忽略" locationBundle"额外的费用。
对于(2),您可以致电getIntent().getBundleExtra("locationBundle")
访问newLocationBundle
个额外内容。
更新
从内部" InfoActivity"我想打开包装 getMeetingPointFixBundle并检索[starterActivityBundle (LOC_NAME_KEY,IMG_TITLE_KEY,IMG_PATH_KEY),getMeetingPointFixBundle (LOC_LAT_KEY,LOC_LNG_KEY)]
同样,我对你使用的解释和语法感到有点困惑。我假设X = [Y(Z)]
表示Bundle X包含来自Bundle Y的额外值Z。
因此,getMeetingPointFixBundle的最终格式如下所示 getMeetingPointFixBundle [starterActivityBundle,LOC_LAT_KEY, LOC_LNG_KEY。之后,我将开始一项新的活动" InfoActivity"通过 使用getMeetingPointFixBundle填充的意图
在问题中定义时使用getMeetingPointFixBundle()
并牢记getMeetingPointFixBundle
的最终格式,InfoActivity
中的Bundle应包含以下内容:{{1 }}。然后,提取数据就像调用适当的Bundle getter方法一样简单。
如果这不是你要找的东西,那么我道歉,但我不明白你在问什么。