我在一本关于android编程的书中有一个例子
示例中有一个Activity ....
示例中的一个方法有一行代码:
return getIntent().getIntExtra("KitchenDroid.Question", 0);
我对此行感到困惑
正如我之前所了解的那样,我们需要将Intext放入Intent中,然后再将getExtra放入
但在整个代码中没有putExtra。
提前致谢
答案 0 :(得分:1)
如果额外不在意图
中,您将得到的是默认值(在这种情况下为0)答案 1 :(得分:1)
当您使用getIntent()时,您将获得启动当前活动的意图。这意味着“KitchenDroid.Question”应该放在另一个Activity的意图中。
Intent i = new Intent(this, ActivityToStart.class);
Bundle b = new Bundle();
b.putString("KitchenDroid.Question", "12");
i.putExtras(b);
startActivity(i);
如果您有启动当前活动的代码,请检查它是否在那里。如果您没有该代码,则作者必须假定其他活动负责传递该参数。
答案 2 :(得分:1)
putExtra()
方法应该在创建用于启动活动的intent的代码中,而不是在活动代码本身中。
答案 3 :(得分:1)
public int getIntExtra (String name, int defaultValue)
从意图中检索扩展数据。
这里
名称:所需项目的名称。
defaultValue :如果没有使用给定名称存储所需类型的值,则返回的值。
它返回之前使用putExtra()添加的项的值 或者如果没有找到则默认值。
最后一行是你问题的答案