可以通過重寫onCreateContextMenu方法來控制ContextMenu的可見性。在該方法中,可以根據需要添加菜單項,并設置它們的可見性。
例如,以下代碼片段演示了如何添加一個菜單項并設置其可見性:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
// 設置菜單項的可見性
MenuItem menuItem = menu.findItem(R.id.menu_item);
if (/* 根據條件判斷是否顯示菜單項 */) {
menuItem.setVisible(true);
} else {
menuItem.setVisible(false);
}
}
在上面的代碼中,通過調用menu.findItem方法找到指定的菜單項,并根據條件設置其可見性。根據具體需求,可以根據不同的條件來控制菜單項的顯示或隱藏。