在菜单项中跳转页面和使用ListActivity

来源:互联网 发布:淘宝国际转运 日本 编辑:程序博客网 时间:2024/06/15 20:52

有时候,应用程序需要单击某个菜单项时启动其他Activity(包括Service),这种情况只需调用MenuItem的setIntent()方法即可。本文在第二个页面中直接继承ListActivity,调用setListAdapter()方法,就可生成ListView列表,两个Activity不需要任何布局XML,代码如下:

MainActivity:

package com.lovo;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 MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {SubMenu prog = menu.addSubMenu("启动程序");// 设置菜单的图标prog.setIcon(R.drawable.ic_launcher);// 设置菜单头的图标prog.setHeaderIcon(R.drawable.ic_launcher);// 设置菜单头的标题prog.setHeaderTitle("选择你要启动的程序");// 设置菜单项MenuItem item = prog.add("查看常用程序语言");// 为菜单项设置关联的Activityitem.setIntent(new Intent(this, TestListViewActivity.class));return super.onCreateOptionsMenu(menu);}}

TestListViewActivity:

package com.lovo;import android.app.ListActivity;import android.os.Bundle;import android.widget.ArrayAdapter;public class TestListViewActivity extends ListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 列表项数组String[] strs = { "Java", "C", "C++", "VB", ".NET","JSP","HTML" };// 实例化数组适配器ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, strs);// 设置适配器setListAdapter(adapter);}}