Poszukuję sposobów zmniejszenia tego, co nazywam "zanieczyszczeniem id" w moich aplikacjach. Z tego co mogę powiedzieć, R.id
jest globalna dla aplikacji, więc w każdym działaniu zazwyczaj tworzę unikalne wartości identyfikatorów zasobów dla elementów, nawet jeśli mam wiele takich samych rzeczy. Na przykład, jeśli mam trzy klasy działania, z których każdy strzał i anuluj, chciałbym zdefiniować sześć unikalnych identyfikatorów dla R.id
jak:Zakres wartości R.id
R.id.actOne_save
R.id.actOne_cancel
R.id.actTwo_save
R.id.actTwo_cancel
R.id.actThree_save
R.id.actThree_cancel
Wydaje niepotrzebny mi, jak mam naprawdę wystarczy dwa działa na dowolna aktywność. Jakie są niektóre z praktyk, z których wszyscy korzystacie podczas generowania identyfikatorów zasobów? Czy wykorzystujesz je ponownie między działaniami? Czy to jest w porządku, jeśli identyfikator istnieje w dwóch aktywacjach (może jeden wstrzymany i jeden nowy) w tym samym czasie? Obawiam się dziwnych zachowań, takich jak kliknięcie przycisku, które uderza zbyt wielu słuchaczy!
Dzięki, to ma sens, biorąc pod uwagę, że findViewById() jest wywoływana z działania lub widoku, zamiast aplikacji. Twoje zdrowie! – Devunwired
W tej chwili jest to tylko 50% prawdy, ponieważ w edytorze R.ids można zobaczyć z działań zagranicznych, więc możesz pomyśleć, że jedno z nich jest twoje, nawet jeśli nie istnieje ono w twojej działalności. – user250343
@Martyn, co dokładnie masz na myśli mówiąc "w tym samym widoku"? Jeśli mam układ działania, który zawiera 2 układy fragmentów, każdy fragment zawierający "id =" @ + id/button_ok "byłby to problem, ponieważ mają one ten sam widok nadrzędny? – bcorso