Использование точек в xml-идентификаторах

это мой первый вопрос

На Java у меня никогда не было этой проблемы раньше.

Я провел два дня, потому что у меня была проблема только в режиме разработки на студии Android, раздувающей CustomView с kotlin . У меня был findByView = null после раздувания. Запуск приложения, все правильно

View.inflate(context, R.layout.widget_navigation_section_button, this) mLabel = findViewById(R.id.navigation_section_title) mLabel.setText("something") 

Это бросает NPE (для реального в kotlin: kotlin.TypeCastException: null не может быть применено к ненулевому типу android.widget.TextView at … $ mLabel $ 2.invoke (CustomView.kt: 22))

Обычно я использую шаблон <layout>[.<where_container>].<name> для ввода идентификаторов и строк в XMls (например: android:id="@+id/main.description_container.title" )
Это автоматически преобразуется в R.id.main_description_container_title (точки уведомления становятся R.id.main_description_container_title подчеркивания) в коде

Проблема была решена, когда я заменяю эти точки символами подчеркивания вручную в XML

Я искал условные обозначения имен, объясняющие, почему точки не должны использоваться в идентификаторах или именах строк, но безуспешно. Я хочу знать, какова реальная проблема с этим соглашением о названии. Этого действительно следует избегать?

Должен ли я просто отказаться от идеи и просто подчеркнуть пользователя? Глядя на это проблема только на котлине, может быть, какая-то конфигурация градиента?

заранее спасибо

Вы не можете использовать точки, потому что в следующем выражении R.id.main.description_container.title попытается найти элемент-член, который имеет тип Int а затем попробуйте найти свойство description_container , но Int не имеет такого свойства

Intereting Posts
Получение класса списка с общим типом: List <Number> :: class Koltin MyClass.class.java Неразрешенная ссылка: java Изменить порядок слов в строке в Котлине Ошибка: ошибка преобразования байт-кода в dex: причина: метод по умолчанию или статический интерфейс, используемый без –min-sdk-version> = 24 Доступ к статическому полю из Java-суперкласса Получите множественное число и сингл от блока Chrono Time IntelliJ не распознает файл kotlin после его удаления и воссоздает с тем же именем Соглашение о кодировании для пустых функций, которые необходимо переопределить в Котлине Котлин коанс не работает? Я сошел с ума? Преобразование реализации Thread / Runnable из Java в Kotlin String :: toByteArray () не компилируется в Kotlin Кнопка libgdx up down no effect Как я могу представить отношение многих к многим с Android Room? Как представлять несколько типов (типы объединения) при настройке JavaScript Модифицированный метод с новым условием