В моем макете я определил что-то вроде этого.
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dnt want this text" />
Предположим, что какая-то функция в активности возвращает мне этот идентификатор (идентификатор radioButton). Теперь я хочу получить этот текст radio1 из этого идентификатора. Короче хочу получить текст radio1, написанный наandroid:id="@+id/radio1"
Может кто-нибудь сказать мне, как это возможно?
Ответы:
В своей деятельности попробуйте это:
чтобы получить строку как
radio1
:чтобы получить строку как
com.sample.app:id/radio1
:В Котлине сейчас:
источник
getResourceEntryName(int resid)
иgetResourceName(int resid)
?minifyEnabled true
), особенно дляgetResources().getIdentifier(...
У вас есть идентификатор (тип 'long') из этого идентификатора, который вы хотите использовать для идентификатора переключателя (имя), который является radio1 . Вы используете это
при использовании выше вы можете получить название радио кнопки, т.е. радио1. здесь идентификатор параметра, который у вас есть (длинный тип) . Попробуйте это, это поможет вам на 100%.
источник
Котлин:
источник
Если я прав, то, что вы хотели получить, это слово «radio1» (из самого идентификатора?), Так что если это так, то сначала вам нужно получить его идентификатор.
тогда получите результат
надеялся, что помог
источник
Вы имеете в виду, что хотите взять текст строки идентификатора?
Поскольку вы определили это, вы должны знать, что это такое.
Если у вас есть макет, и вы хотите узнать, имеет ли View определенный идентификатор, вы можете просмотреть весь макет и проверить с помощью getId (), является ли id каждого View идентификатором, который вы ищете.
Надеюсь, это поможет (если я правильно понял, ваш вопрос .. :))
источник