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