Android 如何使用getIntExtra而不使用putextra?

Android 如何使用getIntExtra而不使用putextra?,android,Android,我正在遵循一本关于android编程的书中的一个例子 该示例有一个活动 示例中的一个方法有一行代码: return getIntent().getIntExtra("KitchenDroid.Question", 0); 我对这句话感到困惑 正如我之前了解到的,我们需要在意向中加入额外的内容,然后在以后获得额外的内容 但是在整个代码中没有额外的内容 提前感谢当您使用getIntent()时,如果额外值不在意图中,您将得到默认值(在本例中为0)。如果额外值不在意图中,您将得到默认值(在本例中为0

我正在遵循一本关于android编程的书中的一个例子

该示例有一个活动

示例中的一个方法有一行代码:

return getIntent().getIntExtra("KitchenDroid.Question", 0);
我对这句话感到困惑

正如我之前了解到的,我们需要在意向中加入额外的内容,然后在以后获得额外的内容

但是在整个代码中没有额外的内容


提前感谢

当您使用getIntent()时,如果额外值不在意图中,您将得到默认值(在本例中为0)。如果额外值不在意图中,您将得到默认值(在本例中为0)。这意味着“KitchenDroid.Question”应该放在另一个活动的意图中

Intent i = new Intent(this, ActivityToStart.class);
Bundle b = new Bundle();
b.putString("KitchenDroid.Question", "12");
i.putExtras(b);
startActivity(i);
如果您有启动当前活动的代码,请检查它是否存在。如果您没有该代码,则作者必须假设其他活动负责传递该参数。

当您使用getIntent()时,您得到的是启动当前活动的意图。这意味着“KitchenDroid.Question”应该放在另一个活动的意图中

Intent i = new Intent(this, ActivityToStart.class);
Bundle b = new Bundle();
b.putString("KitchenDroid.Question", "12");
i.putExtras(b);
startActivity(i);
如果您有启动当前活动的代码,请检查它是否存在。如果您没有该代码,则作者必须假设其他活动负责传递该参数。

方法应该在创建用于启动活动的意图的代码中,而不是在活动代码本身中。

方法应该在创建用于启动活动的意图的代码中,而不是在活动代码本身中。

来自

从意图中检索扩展数据

这里

名称:所需项目的名称

defaultValue:如果没有使用给定名称存储所需类型的值,则返回的值

它返回以前使用putExtra()添加的项的值 如果找不到,则为默认值

最后一行是您的问题的答案

从意图中检索扩展数据

这里

名称:所需项目的名称

defaultValue:如果没有使用给定名称存储所需类型的值,则返回的值

它返回以前使用putExtra()添加的项的值 如果找不到,则为默认值


最后一行是你问题的答案

你是对的。为了让
getExtra()
返回有意义的值,必须在某个地方有一个
putExtra()
。这将出现在创建启动
活动的
意图的代码中。您是正确的。为了让
getExtra()
返回有意义的值,必须在某个地方有一个
putExtra()
。这将在代码中创建
意图
以启动
活动
@Sleeptless you's welcome。因为所有的答案都是正确的,所以你应该接受一个:)@Sleeptless欢迎你。由于所有答案都是正确的,您应该接受一个:)