//Menu設置
//覆蓋兩個方法onCreateOptionsMenu(Menu menu)、onOptionsItemSelected(MenuItem Item)
//onCreateOptionsMenu:在該函數中建立Menu
//onOptionsItemSelected:當選中某個Menu時調用,用switch(Item.getItemId())來判別
//參數1.分組 2.ID 3.排列順序 4.標題
menu.add(1, 1, 0, "設置").setIcon(R.drawable.setting);
menu.add(1, 2, 1, "帳號").setIcon(R.drawable.switchuser);
menu.add(1, 3, 2, "官方").setIcon(R.drawable.officialweibo);
menu.add(2, 4, 3, "意見").setIcon(R.drawable.comment);
menu.add(2, 5, 4, "關於").setIcon(R.drawable.aboutweibo);
menu.add(2, 6, 5, "退出").setIcon(R.drawable.menu_exit);
//彈出上下文菜單,需用registerForContextMenu(View v)來註冊
ListView lv = new LisrView(this);
registerForContextMenu(lv);//註冊一個ListView的上下文菜單
//效果是能夠在ListView中的某一項長按,會出現一個消息框, 在這個框中有菜單選項
//下面lm.id是用於顯示上下文菜單的子視圖的行ID。也就是獲取到得是BaseAdapter方法getItemId(int position)的返回值
//觸發上下文菜單的某一項
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId()){
case 1://轉發
break;
case 2://評論
break;
case 3://收藏
break;
case 4://查看信息
break;
}
Toast.makeText(this, item.getTitle(), 1000).show();
return super.onContextItemSelected(item);
}
//建立上下文菜單
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)menuInfo;
System.out.println("第"+lm.id+"項,彈出菜單註冊成功");
menu.setHeaderTitle("第"+lm.id+"項的彈出菜單");
menu.add(1, 1, 1, "轉發");
menu.add(1, 2, 2, "評論");
menu.add(1, 3, 3, "收藏");
menu.add(1, 4, 4, "查看信息
}ide