Я использую функцию перетаскивания, чтобы добавить линейную компоновку в свою деятельность. , когда я проверяю action_main.xml, есть созданный компонент, но нет «android: id» Я не могу вручную добавить id, потому что для этого макета в R.java нет идентификатора. как его решить?Настройка android: id для компонента линейного компоновки
ответ
Если вы добавите андроид: id = "@ + id/YOUR_ID" в свой XML, ваша среда IDE (я предполагаю затмение) перекомпилит R.java и вы сможете использовать R.id.YOUR_ID в вашей деятельности.
Вам не нужно использовать R.id для программирования id программно. Вы можете использовать любое положительное число ID:
myNewLayout.setId(newLayoutIndex);
Согласно Посмотреть документации
Идентификатор не должен быть уникальным в иерархии этого вида. Идентификатор должен быть положительным.
Согласен, но если вы определяете представление в xml (он упоминает activity_main.xml), лучше его установить. Также стоит отметить, что программный идентификатор id имеет потенциал создания дубликатов идентификаторов, поэтому перед этим нужно продумать. – Flynn81
Если вы хотите использовать только один вид - agrred. Но что делать, если вам нужно создавать и работать со многими представлениями программно? – Dimmerg
oh mann. Я этого никогда не знал. спасибо –