W swoim układzie zdefiniowałem coś takiego.
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dnt want this text" />
Załóżmy, że jakaś funkcja w działaniu zwraca mi ten identyfikator (id z radioButton). Teraz chcę pobrać tekst radio1 z tego identyfikatora. Krótko mówiąc, chcę pobrać tekst radio1 zapisany wandroid:id="@+id/radio1"
Czy ktoś może mi powiedzieć, jak to możliwe?
Odpowiedzi:
W swojej aktywności wypróbuj te:
aby uzyskać ciąg taki jak
radio1
:aby uzyskać ciąg taki jak
com.sample.app:id/radio1
:W Kotlinie teraz:
źródło
getResourceEntryName(int resid)
igetResourceName(int resid)
?minifyEnabled true
), szczególnie dlagetResources().getIdentifier(...
Masz id (typ 'long') z tego identyfikatora, do którego chcesz uzyskać dostęp do identyfikatora przycisku radiowego (nazwa) , czyli radio1 . Używasz tego
Używając powyżej, możesz uzyskać nazwę przycisku radiowego, tj. radio1. tutaj id parametru to, który masz (typ długi) . Spróbuj tego, to pomoże ci w 100%.
źródło
Kotlin:
źródło
Jeśli mam rację, chciałeś odzyskać słowo "radio1" (z samego id?), Więc jeśli tak jest, to najpierw musisz uzyskać jego identyfikator.
a następnie uzyskaj wynik
Miałem nadzieję, że pomogłem
źródło
Masz na myśli, że chcesz wziąć tekst będący ciągiem identyfikatora?
Skoro już to zdefiniowałeś, powinieneś wiedzieć, co to jest.
Jeśli masz układ i chcesz sprawdzić, czy widok ma określony identyfikator, możesz przejść przez cały układ i sprawdzić za pomocą getId (), czy identyfikator każdego widoku jest identyfikatorem, którego szukasz.
Mam nadzieję, że to pomoże (jeśli rozumiem, popraw swoje pytanie .. :))
źródło