Я изучаю учебник «Блокнот»: http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html
Я заметил, что код, который они предоставляют для добавления пункта меню,
menu.add(0, INSERT_ID, 0, R.string.menu_insert);
INSERT_ID ранее определен как Menu.FIRST,Когда я смотрю на эту константу в классе, это int, установленный в 1. Определено, что есть также Menu.NONE, который является int, установленным в 0.
Это заставляет меня задуматься о двух вещах:
- Какая польза от определения Menu.FIRST как 1 и Menu.NONE как 0?Почему бы просто не указать 1 и 0 во время вызовов функций? Тем более что ...
- По сути, это то, что они сделали в этом вызове функции, предоставив 0. Почему бы не использовать Menu.NONE там, так как онипошли на проблему обеспечения другой константы, содержащейся в локальной переменной?
Из ссылки я обнаружил, что
android.view.Menu.add(int groupId, int itemId, int order, int titleRes)
где:
groupID : идентификатор группы, частью которой должен быть этот элемент.Это также можно использовать для определения групп элементов для изменения состояния партии. Обычно используется NONE, если элемент не должен быть в группе.
itemID : уникальный идентификатор элемента. Используйте NONE, если вам не нужен уникальный идентификатор.
order : Заказ для элемента. Используйте NONE, если вам не важен порядок. См. GetOrder ().
titleRes : идентификатор ресурса строки заголовка.[не важно для этого вопроса]
Так что теперь я очень озадачен тем, что они должны использовать константу, предоставленную в одном месте, и игнорировать инструкцию, чтобы сделать это в другом месте, все в рамках одного и того же вызова функции.