標籤:
1 Creatinga操作功能表,
Todefine操作功能表的外觀和行為,推翻youractivity的操作功能表復原方法,onCreateContextMenu()和onContextItemSelected()。
例如,這裡有一個onCreateContextMenu(),使用context_menu.xml menuresource:
java代碼:
1. @Override
2. public void onCreateContextMenu(ContextMenu menu, View v,
3. ContextMenuInfo menuInfo) {
4. super.onCreateContextMenu(menu, v, menuInfo);
5. MenuInflater inflater = getMenuInflater();
6. inflater.inflate(R.menu.context_menu, menu); 7. }
複製代碼
MenuInflateris用於充氣從menuresource操作功能表。 (你也可以使用增加()添加功能表項目。)回呼函數參數的方法包括Viewthat和ContextMenu使用者選擇。 ContextMenuInfoobject提供額外的關於該物品的資訊選擇。 你可以用這些參數來確定哪些操作功能表應該產生,但是在這個例子中,所有的activityare操作功能表一樣。
2 Thenwhen使用者選擇一個項目從操作功能表,系統callsonContextItemSelected()。這是一個例子說明你是如何選擇的物件可以處理:
java代碼:
1. @Override
2. public boolean onContextItemSelected(MenuItem item) {
3. AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
4. switch (item.getItemId()) {
5. case R.id.edit:
6. editNote(info.id);
7. return true;
8. case R.id.delete:
9. deleteNote(info.id);
10. return true;
11. default:
12. return super.onContextItemSelected(item);
13. }
14. 15. }
複製代碼
這codeis的結構相似Creatingan為例,getItemId菜單(ID)查詢為選定的功能表項目和開關statementmatches項目中被定義在該入侵偵測系統,菜單資源。像選項菜單的例子,預設的聲明稱thesuper類的情況下能處理的菜項,ifnecessary這裡沒有處理。
在這個例子中,theselected項目是一項從一個列表。執行一個動作在選定的項目中的應用,需要toknow列表名字選定的項目(它的地位theListView)。獲得身份證、應用getMenuInfo(電話),它將返回一個AdapterView。 這包括AdapterContextMenuInfoobject列表名字選定的項目在idfield。 當地的方法editNote()()方法anddeleteNote接受這份名單IDto上執行一個指令列表資料指定的ID。
Android開發之Android Context Menu