我是一位有經驗的Java程序員。我開始研究一個小型的Android項目,並且我非常沮喪於Android有多少複雜的編程才更加靈活。 的確,我遇到的問題如下:我有一個菜單項,我需要在畝應用程序中的幾個菜單中使用。有沒有辦法創建一個菜單項對象(可能將某個功能與它相關聯)並傳遞給它,所以任何活動都可以將它添加到它自己的Contex菜單中?Android和菜單
我試過這個: 創建了一個「res.menu.mymenu.xml」文件,其中包含一個菜單項,其菜單項來自另一個「res.menu.mymenu2.xml」文件。然後,我已經試過這樣:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(getMenuToInflate(), menu);
menu.add(0, R.id.mnhidefrom, 0, ((MenuItem)findViewById(R.id.mnhidefrom)).getTitle());
HideMenuAction.prepareAndGetHideMeMenuItem(menu, menuInfo); //creating an intent for "hide" menu item that will hold some data needed when user clicks the menu item.
}
,但沒有運氣...我得到的「menu.add」行「空指針異常」 ......
有一個正常的,面向對象的方式,創建一個菜單項,它會知道它應該做什麼,而不管外部任何東西(比如它所屬的菜單),只需像其他任何對象一樣傳遞它並將其添加到任何我喜歡的菜單中(就像我可以使用Swing菜單和JMenuItems)?
getMenuToInflate()返回什麼? – Squonk 2013-05-11 22:46:58
它返回應該保存這些菜單項的上下文菜單的ID。 ( 「R.menu.somecontextmenu」) – guest86 2013-05-11 22:49:50