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

有时候,应用程序需要单击某个菜单项时启动其他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 {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
	}

	@Override
	public 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("查看常用程序语言");
		// 为菜单项设置关联的Activity
		item.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 {
	@Override
	protected 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);
	}
}



 

你可能感兴趣的:(android,Adapter,intent,ListActivity,ArrayAdapter适配器)