设置与菜单项关联的Activity

 在有些时候,应用程序需要单击某个菜单项时启动其他Activity (包括其他Service)。对 于这种需求,Android甚至不需要开发者编写任何事件处理代码,只要调用Memiltem的setlntent(lntent intent)方法即可 该方法把该菜单项与指定Intent关联到一起,当用户单击该菜单项时,该Intent所代表的组件将会被启动。
        如下程序示范了如何通过菜单项来启动指定Activity。该程序几乎不包含任何界面组件, 因此不给出界面布局文件。该程序的Java文件如下。
程序清单:ActivityMenusrcorgcrazyitmenuActivityMenu.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package org.crazyit.menu;
import org.crazyit.menu.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
 
public class ActivityMenu extends Activity
{
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu)
 {
  // -------------向menu中添加子菜单-------------
  SubMenu prog = menu.addSubMenu("启动程序");
  // 设置菜单的图标
  prog.setIcon(R.drawable.tools);
  // 设置菜单头的图标
  prog.setHeaderIcon(R.drawable.tools);
  // 设置菜单头的标题
  prog.setHeaderTitle("选择您要启动的程序"); 
  // 添加菜单项
  MenuItem item = prog.add("查看经典Java EE");
  //为菜单项设置关联的Activity
  item.setIntent(new Intent(this , OtherActivity.class));
  return super.onCreateOptionsMenu(menu);
 }
}
</activity>


运行上面的程序,打开“启动程序”菜单

单击子菜单中的“査看经典Java EE”即可启 动另一个 Activity: OtherActivity。

原文地址:https://www.cnblogs.com/mochaMM/p/5083383.html