设置与菜单项关联的Activity

   有些时候,应用程序需要单击某个菜单项时启动其他Activity(包括其他Service)。对于这种需求,Android设置不需要开发者编写任何事件处理代码,只要调用MenuItem的setIntent(Intent intent)方法即可——该方法把该菜单项与指定Intent关联到一起,当用户单击该菜单时,该Intent所代表的组件将会被启动。

   如下程序示范了如何通过菜单项来启动指定Activity。该程序几乎不包含任何界面组件,因此不给出界面布局文件。该程序的Java文件如下。

package org.crazyit.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;

public class ActivityMenu extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //---------------------向menu中添加子菜单-----------------
        SubMenu prog=menu.addSubMenu("启动程序");
        //设置菜单头的图标
        prog.setHeaderIcon(R.drawable.tools);
        //设置菜单头的标题
        prog.setHeaderTitle("选择您要启动的程序");
        //添加菜单项
        MenuItem item=prog.add("查看经典Java EE");
        //为菜单项设置关联的Activity
        item.setIntent(new Intent(this,org.crazyit.helloworld.AlertDialogTest.class));
        
        // Inflate the menu; this adds items to the action bar if it is present.
        //getMenuInflater().inflate(R.menu.activity_menu, menu);
        //return true;
        return super.onCreateOptionsMenu(menu);
    }

}

 

posted @ 2013-10-30 16:45  TealerProg  Views(639)  Comments(0Edit  收藏  举报