Menu菜单用法!

 
public class Ex01 extends Activity {
	
	public static final int ADD_ID = Menu.FIRST;
	public static final int DELETE_ID = Menu.FIRST + 1;
	public static final int EXIT_ID = Menu.FIRST + 2;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);
		menu.add(0, ADD_ID, 0, R.string.menu_add);
		menu.add(0, DELETE_ID, 1, R.string.menu_delete);
		menu.add(0, EXIT_ID, 2, R.string.menu_exit);
		return true;	
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
			case ADD_ID: 
				setTitle("Insert..."); 
				break;
			case DELETE_ID: 
				setTitle("Delete..."); 
				break;
			case EXIT_ID: 
				finish(); 
				break;
		}
		return super.onOptionsItemSelected(item);
	}
}


strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="hello">Hello World, Ex01!</string>
	<string name="app_name">Ex01</string>
	<string name="menu_add">Add Item</string>
	<string name="menu_delete">Del Item</string>
	<string name="menu_exit">Exit</string>
</resources>

说明:

1. 一开始,框架就反向呼叫onCreate()函數,也呼叫onCreateOptionsMenu()。
2. 当你选取<Add Item>选项时,框架会反向呼叫onOptionsItemSelected()函數。
3. 框架是主角,Ex01 类别只是被呼叫的配角,复杂的控制邏辑都为框架所
做掉了,所以程序代码便得简单清晰了。
4. 呼叫onCreate()函數时,此函數首先正向呼叫父类别Activity 的onCreate()函
數,先执行父类别的预设行为,然后才执行ex01::onCreate()函數的附加行
为。继续执行到setContentView(R.layout.main)指令时,就去讀取main.xml
的内容,依据它來进行屏幕画面的布局(Layout),并显示出來。
5. 呼叫onCreateOptionsMenu() 函數时, 执行到指令: menu.add(0,
ADD_ID, R.string.menu_add)就去取/res/values/strings.xml 中的内容,
取得字串“Add Item”,显示于画面的选单上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值