18、Android之创建菜单

增加这些条目到菜单中,你要使用 menu.add()方法。这个呼叫的语句是:
参数组被用来与菜单条目相关联。在本例中,你将不使用组。但是,这个值是非
常重要的。参数 id 被用来检测哪一个菜单条目被选择。最后,参数标题是显示
在菜单上的文本。

package  android_programmers_guide.AndroidViews;
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.Menu;
public  class  AndroidViews  extends  Activity  {
/**  Called  when  the  Activity  is  first  created.  */
@Override
public  void  onCreate(Bundle  icicle)  {
super.onCreate(icicle);
setContentView(R.layout.main);
}
@Override
public  boolean  onCreateOptionsMenu(Menu  menu)  {
super.onCreateOptionsMenu(menu);
menu.add(0,  0,  "AutoComplete");
menu.add(0,  1,  "Button");
menu.add(0,  2,  "CheckBox");
menu.add(0,  3,  "EditText");
menu.add(0,  4,  "RadioGroup");
menu.add(0,  5,  "Spinner");
return  true;
}
}81
次,像 onCreateOptionsMenu(),当菜单项被选择,onOptionsItemSelected(  )
是你需要优先一个拥有代码,被执行的布尔方法。优先代码应当如下:
这个代码有个问题:当任何菜单项被选择,onOptionsItemSelected(  )  是个常
规被呼叫的方法。你需要给定 onOptionsItemSelected(  )一条路来识别不同菜
单项之间的差别并执行相应的代码。因此,使用一个 switch/case  声明来帮助
方法从不同的项目中选择。当你创建了菜单项,你定义了一系列的从 0 到 5 的数
字作为菜单项的值。你可以在 case 声明中使用一个呼叫来 getI()来检测哪一
个菜单项被选择:
在这个 case 声明中,对于每一个 id 当前设定的动作是返回 true.这个不会
做 任 何 的 事 情 但 是 会 保 留 一 个 开 放 的 可 以 增 加 代 码 的 区 域 。 你 的
AndroidViews.java 文件现在可以被用来创建被新菜单系统启动的活动了。完整
的 AndroidViews.java 文件代码应当看上去如下:
@Override
public     boolean     onOptionsItemSelected(Menu.Item
item){
}
switch  (item.getId())  {
case  0:
return  true;
case  1:
return  true;
case  2:
return  true;
case  3:
return  true;
case  4:
return  true;
case  5:
return  true;
}
return  true;
package  android_programmers_guide.AndroidViews;
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.Menu;
public  class  AndroidViews  extends  Activity  {
/**  Called  when  the  Activity  is  first  created.  /
@Override
public  void  onCreate(Bundle  icicle)  {
super.onCreate(icicle);
setContentView(R.layout.main);82
完成了 AndroidViews.java,你可以重点去创建其它的活动了,在下一节中 ,
你将在项目中为每一个 View 创建一个活动并增加代码来启动 case 声明中 view
的活动。
}
@Override
public  boolean  onCreateOptionsMenu(Menu  menu)  {
super.onCreateOptionsMenu(menu);
/**   Add   one   menu   item   for   each   View   in   our
project  */
menu.add(0,  0,  "AutoComplete");
menu.add(0,  1,  "Button");
menu.add(0,  2,  "CheckBox");
menu.add(0,  3,  "EditText");
menu.add(0,  4,  "RadioGroup");
menu.add(0,  5,  "Spinner");
return  true;
}
/**    Override    onOptionsItemSelected    to    execute
code  for  each
menu  item  */
@Override
public     boolean     onOptionsItemSelected(Menu.Item
item){
}
/**  Select  statement  to  handle  calls
to  specific  menu  items  */
switch  (item.getId())  {
case  0:
return  true;
case  1:
return  true;
case  2:
return  true;
case  3:
return  true;
case  4:
return  true;
case  5:
return  true;
}
return  true;
}
}

你可能感兴趣的:(18、Android之创建菜单)